@projectcaluma/ember-distribution 11.0.0-beta.25 → 11.0.0-beta.28
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/inquiry.js +29 -0
- package/addon/components/cd-inquiry-dialog/inquiry-part.hbs +40 -0
- package/addon/components/cd-inquiry-dialog/inquiry-part.js +70 -0
- package/addon/components/cd-inquiry-dialog.js +30 -0
- package/addon/components/cd-navigation/controls.js +4 -2
- package/addon/config.js +2 -0
- package/addon/gql/fragments/inquiry.graphql +2 -0
- package/addon/gql/mutations/complete-inquiry-work-item.graphql +1 -0
- package/addon/gql/mutations/{redo-work-item.graphql → reopen-distribution.graphql} +1 -1
- package/addon/gql/mutations/reopen-inquiry.graphql +33 -0
- package/addon/gql/mutations/update-inquiry-meta.graphql +8 -0
- package/addon/utils/inquiry-deadline.js +1 -1
- package/package.json +11 -11
- package/translations/de.yaml +13 -0
- package/translations/en.yaml +13 -0
- package/translations/fr.yaml +13 -0
|
@@ -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
|
|
|
@@ -56,4 +57,32 @@ export default class InquiryAbility extends Ability {
|
|
|
56
57
|
) ?? true
|
|
57
58
|
);
|
|
58
59
|
}
|
|
60
|
+
|
|
61
|
+
get canReopen() {
|
|
62
|
+
return (
|
|
63
|
+
this.model.isRedoable &&
|
|
64
|
+
this.model?.addressedGroups
|
|
65
|
+
.map(String)
|
|
66
|
+
.includes(String(this.calumaOptions.currentGroupId)) &&
|
|
67
|
+
(this.config.permissions.reopenInquiry?.(this.model) ?? true)
|
|
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
|
+
}
|
|
59
88
|
}
|
|
@@ -77,7 +77,47 @@
|
|
|
77
77
|
</LinkTo>
|
|
78
78
|
</li>
|
|
79
79
|
{{/if}}
|
|
80
|
+
{{#if (and (eq @type "answer") (can "reopen inquiry" @inquiry))}}
|
|
81
|
+
<li>
|
|
82
|
+
<a href="" {{on "click" (perform this.reopen)}} data-test-reopen>
|
|
83
|
+
{{t "caluma.distribution.reopen-inquiry.link"}}
|
|
84
|
+
</a>
|
|
85
|
+
</li>
|
|
86
|
+
{{/if}}
|
|
80
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}}
|
|
81
121
|
</ul>
|
|
82
122
|
|
|
83
123
|
{{#if this.requestInfo}}
|
|
@@ -4,9 +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";
|
|
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";
|
|
10
13
|
import withdrawInquiryMutation from "@projectcaluma/ember-distribution/gql/mutations/withdraw-inquiry.graphql";
|
|
11
14
|
import inquiryAnswerStatus from "@projectcaluma/ember-distribution/utils/inquiry-answer-status";
|
|
12
15
|
|
|
@@ -14,6 +17,7 @@ export default class CdInquiryDialogInquiryPartComponent extends Component {
|
|
|
14
17
|
@service notification;
|
|
15
18
|
@service router;
|
|
16
19
|
@service intl;
|
|
20
|
+
@service calumaOptions;
|
|
17
21
|
|
|
18
22
|
@queryManager apollo;
|
|
19
23
|
|
|
@@ -73,4 +77,70 @@ export default class CdInquiryDialogInquiryPartComponent extends Component {
|
|
|
73
77
|
);
|
|
74
78
|
}
|
|
75
79
|
}
|
|
80
|
+
|
|
81
|
+
@dropTask
|
|
82
|
+
*reopen(e) {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
|
|
85
|
+
/* istanbul ignore next */
|
|
86
|
+
if (
|
|
87
|
+
!(yield confirm(
|
|
88
|
+
this.intl.t("caluma.distribution.reopen-inquiry.confirm")
|
|
89
|
+
))
|
|
90
|
+
) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
yield this.apollo.mutate({
|
|
96
|
+
mutation: reopenInquiryMutation,
|
|
97
|
+
variables: {
|
|
98
|
+
workItem: decodeId(this.args.inquiry.id),
|
|
99
|
+
statusQuestion: this.config.inquiry.answer.statusQuestion,
|
|
100
|
+
buttonTasks: Object.keys(this.config.inquiry.answer.buttons),
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
} catch (error) {
|
|
104
|
+
this.notification.danger(
|
|
105
|
+
this.intl.t("caluma.distribution.reopen-inquiry.error")
|
|
106
|
+
);
|
|
107
|
+
}
|
|
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
|
+
}
|
|
76
146
|
}
|
|
@@ -52,6 +52,8 @@ export default class CdInquiryDialogComponent extends Component {
|
|
|
52
52
|
},
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
+
this._setRedoableStates(response.allWorkItems);
|
|
56
|
+
|
|
55
57
|
/**
|
|
56
58
|
* Sadly this is necessary to handle what happens after the withdraw task in
|
|
57
59
|
* the inquiry part component because the mutation triggers a refresh of the
|
|
@@ -68,11 +70,39 @@ export default class CdInquiryDialogComponent extends Component {
|
|
|
68
70
|
if (allWorkItems.edges.every((edge) => edge.node.status === "CANCELED")) {
|
|
69
71
|
this.router.transitionTo("index");
|
|
70
72
|
}
|
|
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);
|
|
71
94
|
});
|
|
72
95
|
|
|
73
96
|
return response;
|
|
74
97
|
}
|
|
75
98
|
|
|
99
|
+
_setRedoableStates(allWorkItems) {
|
|
100
|
+
this._redoableStates = allWorkItems.edges.map((edge) => ({
|
|
101
|
+
id: decodeId(edge.node.id),
|
|
102
|
+
isRedoable: edge.node.isRedoable,
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
|
|
76
106
|
@dropTask
|
|
77
107
|
*createInquiry(e) {
|
|
78
108
|
e.preventDefault();
|
|
@@ -8,7 +8,7 @@ import { gql } from "graphql-tag";
|
|
|
8
8
|
import { decodeId } from "@projectcaluma/ember-core/helpers/decode-id";
|
|
9
9
|
import config from "@projectcaluma/ember-distribution/config";
|
|
10
10
|
import completeWorkItemMutation from "@projectcaluma/ember-distribution/gql/mutations/complete-work-item.graphql";
|
|
11
|
-
import
|
|
11
|
+
import reopenDistributionMutation from "@projectcaluma/ember-distribution/gql/mutations/reopen-distribution.graphql";
|
|
12
12
|
import incompleteInquiriesQuery from "@projectcaluma/ember-distribution/gql/queries/incomplete-inquiries.graphql";
|
|
13
13
|
|
|
14
14
|
export default class CdNavigationControlsComponent extends Component {
|
|
@@ -55,6 +55,8 @@ export default class CdNavigationControlsComponent extends Component {
|
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
+
yield this.config.hooks.postCompleteDistribution?.();
|
|
59
|
+
|
|
58
60
|
yield this.distribution.refetch();
|
|
59
61
|
this.router.transitionTo("index");
|
|
60
62
|
} catch (e) {
|
|
@@ -76,7 +78,7 @@ export default class CdNavigationControlsComponent extends Component {
|
|
|
76
78
|
);
|
|
77
79
|
|
|
78
80
|
yield this.apollo.mutate({
|
|
79
|
-
mutation:
|
|
81
|
+
mutation: reopenDistributionMutation,
|
|
80
82
|
variables: {
|
|
81
83
|
workItem: distributionWorkItemId,
|
|
82
84
|
},
|
package/addon/config.js
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#import InquiryStatusDocument from '../fragments/inquiry.graphql'
|
|
2
|
+
|
|
3
|
+
mutation ReopenInquiry(
|
|
4
|
+
$workItem: ID!
|
|
5
|
+
$statusQuestion: ID!
|
|
6
|
+
$buttonTasks: [String]!
|
|
7
|
+
) {
|
|
8
|
+
redoWorkItem(input: { id: $workItem }) {
|
|
9
|
+
workItem {
|
|
10
|
+
id
|
|
11
|
+
status
|
|
12
|
+
isRedoable
|
|
13
|
+
childCase {
|
|
14
|
+
id
|
|
15
|
+
document {
|
|
16
|
+
id
|
|
17
|
+
...InquiryStatusDocument
|
|
18
|
+
}
|
|
19
|
+
workItems(filter: [{ tasks: $buttonTasks }, { status: READY }]) {
|
|
20
|
+
edges {
|
|
21
|
+
node {
|
|
22
|
+
id
|
|
23
|
+
task {
|
|
24
|
+
id
|
|
25
|
+
slug
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -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.28",
|
|
4
4
|
"description": "Ember engine for the Caluma distribution module.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon",
|
|
@@ -22,35 +22,35 @@
|
|
|
22
22
|
"@embroider/macros": "^1.8.3",
|
|
23
23
|
"@glimmer/component": "^1.1.2",
|
|
24
24
|
"@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.
|
|
25
|
+
"@projectcaluma/ember-core": "^11.0.0-beta.28",
|
|
26
|
+
"@projectcaluma/ember-form": "^11.0.0-beta.28",
|
|
27
|
+
"@projectcaluma/ember-workflow": "^11.0.0-beta.28",
|
|
28
28
|
"ember-apollo-client": "~4.0.2",
|
|
29
29
|
"ember-auto-import": "^2.4.2",
|
|
30
30
|
"ember-can": "^4.2.0",
|
|
31
31
|
"ember-cli-babel": "^7.26.11",
|
|
32
|
-
"ember-cli-htmlbars": "^6.1.
|
|
33
|
-
"ember-concurrency": "^2.3.
|
|
32
|
+
"ember-cli-htmlbars": "^6.1.1",
|
|
33
|
+
"ember-concurrency": "^2.3.7",
|
|
34
34
|
"ember-engines-router-service": "^0.3.0",
|
|
35
35
|
"ember-fetch": "^8.1.2",
|
|
36
36
|
"ember-intl": "^5.7.2",
|
|
37
37
|
"ember-pikaday": "^4.0.0",
|
|
38
|
-
"ember-resources": "^5.3.
|
|
38
|
+
"ember-resources": "^5.3.2",
|
|
39
39
|
"ember-svg-jar": "^2.3.4",
|
|
40
40
|
"ember-test-selectors": "^6.0.0",
|
|
41
41
|
"ember-uikit": "^6.0.0",
|
|
42
42
|
"graphql": "^15.8.0",
|
|
43
43
|
"graphql-tag": "^2.12.6",
|
|
44
44
|
"lodash.merge": "^4.6.2",
|
|
45
|
-
"luxon": "^3.0.
|
|
45
|
+
"luxon": "^3.0.3",
|
|
46
46
|
"tracked-toolbox": "^1.2.3"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@ember/optional-features": "2.0.0",
|
|
50
50
|
"@ember/test-helpers": "2.8.1",
|
|
51
51
|
"@embroider/test-setup": "1.8.3",
|
|
52
|
-
"@faker-js/faker": "7.
|
|
53
|
-
"@projectcaluma/ember-testing": "11.0.0-beta.
|
|
52
|
+
"@faker-js/faker": "7.5.0",
|
|
53
|
+
"@projectcaluma/ember-testing": "11.0.0-beta.28",
|
|
54
54
|
"broccoli-asset-rev": "3.0.0",
|
|
55
55
|
"ember-cli": "3.28.5",
|
|
56
56
|
"ember-cli-code-coverage": "1.0.3",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"npm-run-all": "4.1.5",
|
|
76
76
|
"qunit": "2.19.1",
|
|
77
77
|
"qunit-dom": "2.0.0",
|
|
78
|
-
"sass": "1.54.
|
|
78
|
+
"sass": "1.54.9",
|
|
79
79
|
"webpack": "5.74.0"
|
|
80
80
|
},
|
|
81
81
|
"engines": {
|
package/translations/de.yaml
CHANGED
|
@@ -61,6 +61,14 @@ caluma:
|
|
|
61
61
|
create-draft: "Entwurf erstellen"
|
|
62
62
|
error: "Fehler beim Erstellen der {count, plural, =1 {Anfragen} other {Anfrage}}"
|
|
63
63
|
|
|
64
|
+
reminder:
|
|
65
|
+
link: "Erinnerung versenden"
|
|
66
|
+
confirm: "Wollen Sie wirklich eine Erinnerung für diese Anfrage versenden?"
|
|
67
|
+
title: "Versendete Erinnerungen"
|
|
68
|
+
no-reminders: "Es wurden noch keine Erinnerungen für diese Anfrage versendet."
|
|
69
|
+
success: "Die Erinnerung wurde erfolgreich versendet"
|
|
70
|
+
error: "Fehler beim Versenden der Erinnerung"
|
|
71
|
+
|
|
64
72
|
types:
|
|
65
73
|
controlling: "Angefordert"
|
|
66
74
|
addressed: "Zu beantworten"
|
|
@@ -85,3 +93,8 @@ caluma:
|
|
|
85
93
|
confirm: "Wollen Sie die Anfrage wirklich zurückziehen?"
|
|
86
94
|
error: "Fehler beim Zurückziehen der Anfrage"
|
|
87
95
|
status: "Zurückgezogen"
|
|
96
|
+
|
|
97
|
+
reopen-inquiry:
|
|
98
|
+
link: "Wiedereröffnen"
|
|
99
|
+
confirm: "Wollen Sie die Anfrage wirklich wiedereröffnen?"
|
|
100
|
+
error: "Fehler beim Wiedereröffnen der Anfrage"
|
package/translations/en.yaml
CHANGED
|
@@ -62,6 +62,14 @@ caluma:
|
|
|
62
62
|
create-draft: "Create draft"
|
|
63
63
|
error: "Error while creating the {count, plural, =1 {inquiry} other {inquiries}}"
|
|
64
64
|
|
|
65
|
+
reminder:
|
|
66
|
+
link: "Send reminder"
|
|
67
|
+
confirm: "Do you really want to send a reminder for this inquiry?"
|
|
68
|
+
title: "Sent reminders"
|
|
69
|
+
no-reminders: "No reminders have been sent for this inquiry yet."
|
|
70
|
+
success: "The reminder has been sent successfully"
|
|
71
|
+
error: "Error while sending the reminder"
|
|
72
|
+
|
|
65
73
|
types:
|
|
66
74
|
controlling: "Requested"
|
|
67
75
|
addressed: "To answer"
|
|
@@ -86,3 +94,8 @@ caluma:
|
|
|
86
94
|
confirm: "Do you really want to withdraw the inquiry?"
|
|
87
95
|
error: "Error while withdrawing the inquiry"
|
|
88
96
|
status: "Withdrawn"
|
|
97
|
+
|
|
98
|
+
reopen-inquiry:
|
|
99
|
+
link: "Reopen"
|
|
100
|
+
confirm: "Do you really want to reopen the inquiry?"
|
|
101
|
+
error: "Error while reopening the inquiry"
|
package/translations/fr.yaml
CHANGED
|
@@ -61,6 +61,14 @@ caluma:
|
|
|
61
61
|
create-draft: "Créer un brouillon"
|
|
62
62
|
error: "Error lors de la création {count, plural, =1 {de la demande} other {des demandes}}"
|
|
63
63
|
|
|
64
|
+
reminder:
|
|
65
|
+
link: "Envoyer un rappel"
|
|
66
|
+
confirm: "Voulez-vous vraiment envoyer un rappel pour cette demande ?"
|
|
67
|
+
title: "Rappels envoyés"
|
|
68
|
+
no-reminders: Aucun rappel n'a encore été envoyé pour cette demande.
|
|
69
|
+
success: "Le rappel a été envoyé avec succès"
|
|
70
|
+
error: "Erreur lors de l'envoi du rappel"
|
|
71
|
+
|
|
64
72
|
types:
|
|
65
73
|
controlling: "Demandé"
|
|
66
74
|
addressed: "A répondre"
|
|
@@ -85,3 +93,8 @@ caluma:
|
|
|
85
93
|
confirm: "Voulez-vous vraiment retirer la demande ?"
|
|
86
94
|
error: "Erreur lors du retrait de la demande"
|
|
87
95
|
status: "Retirée"
|
|
96
|
+
|
|
97
|
+
reopen-inquiry:
|
|
98
|
+
link: "Rouvrir"
|
|
99
|
+
confirm: "Voulez-vous vraiment rouvrir la demande ?"
|
|
100
|
+
error: "Erreur lors de la réouverture de la demande"
|