lesli_support 1.0.0 → 1.1.0
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.
- checksums.yaml +4 -4
- data/app/controllers/lesli_support/item/discussions_controller.rb +6 -0
- data/app/controllers/lesli_support/item/tasks_controller.rb +6 -0
- data/app/controllers/lesli_support/tickets_controller.rb +6 -5
- data/app/models/lesli_support/item/activity.rb +4 -0
- data/app/models/lesli_support/item/discussion.rb +6 -0
- data/app/models/lesli_support/item/task.rb +6 -0
- data/app/models/lesli_support/ticket.rb +14 -9
- data/app/views/lesli_support/dashboards/_component-latest-tickets.html.erb +1 -1
- data/app/views/lesli_support/tickets/show.html.erb +10 -7
- data/db/migrate/v1/0702000110_create_lesli_support_accounts.rb +7 -0
- data/db/migrate/v1/0702110110_create_lesli_support_tickets.rb +0 -7
- data/db/seeds.rb +1 -1
- data/lib/lesli_support/version.rb +2 -2
- metadata +8 -29
- data/app/controllers/lesli_support/options_controller.rb +0 -23
- data/app/controllers/lesli_support/ticket/actions_controller.rb +0 -4
- data/app/helpers/lesli_support/options_helper.rb +0 -4
- data/app/helpers/lesli_support/ticket/actions_helper.rb +0 -4
- data/app/models/lesli_support/option.rb +0 -4
- data/app/models/lesli_support/ticket/action.rb +0 -6
- data/app/views/lesli_support/options/_form.html.erb +0 -17
- data/app/views/lesli_support/options/_option.html.erb +0 -2
- data/app/views/lesli_support/options/edit.html.erb +0 -10
- data/app/views/lesli_support/options/index.html.erb +0 -14
- data/app/views/lesli_support/options/new.html.erb +0 -9
- data/app/views/lesli_support/options/show.html.erb +0 -10
- data/lib/scss/application.scss +0 -0
- data/lib/vue/application.js +0 -93
- data/lib/vue/apps/dashboard/components/engine-version.vue +0 -71
- data/lib/vue/apps/dashboard/components/my-tasks.vue +0 -77
- data/lib/vue/apps/tickets/components/assignments.vue +0 -93
- data/lib/vue/apps/tickets/components/form.vue +0 -305
- data/lib/vue/apps/tickets/components/internal-comments.vue +0 -107
- data/lib/vue/apps/tickets/components/sla-info.vue +0 -115
- data/lib/vue/apps/tickets/components/table.vue +0 -94
- data/lib/vue/apps/tickets/index.vue +0 -145
- data/lib/vue/apps/tickets/new.vue +0 -78
- data/lib/vue/apps/tickets/show.vue +0 -183
- data/lib/vue/stores/tickets.js +0 -276
- data/lib/vue/stores/translations.json +0 -162
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
/*
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by https://www.lesli.tech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// · import vue tools
|
|
35
|
-
import { useRouter } from "vue-router"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// · import lesli stores
|
|
39
|
-
import { useTickets } from "LesliSupport/vue/stores/tickets"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// · initialize/inject plugins
|
|
43
|
-
const url = inject("url")
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// · implement stores
|
|
47
|
-
const storeTickets = useTickets()
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// · translations
|
|
51
|
-
const translations = {
|
|
52
|
-
tickets: i18n.t("lesli_support.tickets"),
|
|
53
|
-
lesli: i18n.t("lesli")
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
// ·
|
|
58
|
-
const columns = [{
|
|
59
|
-
field: "id",
|
|
60
|
-
label: translations.tickets.column_id,
|
|
61
|
-
sort: true
|
|
62
|
-
}, {
|
|
63
|
-
field: "subject",
|
|
64
|
-
label: translations.tickets.column_subject,
|
|
65
|
-
sort: true
|
|
66
|
-
}, {
|
|
67
|
-
field: "deadline",
|
|
68
|
-
label: translations.tickets.column_deadline,
|
|
69
|
-
sort: true
|
|
70
|
-
}, {
|
|
71
|
-
field: "status_name",
|
|
72
|
-
label: translations.tickets.column_status,
|
|
73
|
-
align: "center",
|
|
74
|
-
sort: true
|
|
75
|
-
},{
|
|
76
|
-
field: "priority_name",
|
|
77
|
-
label: translations.tickets.column_priority,
|
|
78
|
-
align: "center",
|
|
79
|
-
sort: true
|
|
80
|
-
}, {
|
|
81
|
-
field: "user_name",
|
|
82
|
-
label: translations.tickets.column_creator,
|
|
83
|
-
sort: true
|
|
84
|
-
}]
|
|
85
|
-
</script>
|
|
86
|
-
<template>
|
|
87
|
-
<lesli-table
|
|
88
|
-
:columns="columns"
|
|
89
|
-
:records="storeTickets.index.records"
|
|
90
|
-
:loading="storeTickets.index.loading"
|
|
91
|
-
:pagination="storeTickets.index.pagination"
|
|
92
|
-
:link="(ticket) => url.support('tickets/:id', ticket.id)">
|
|
93
|
-
</lesli-table>
|
|
94
|
-
</template>
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
/*
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by https://www.lesli.tech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// · import vue tools
|
|
35
|
-
import { onMounted, inject } from "vue"
|
|
36
|
-
import { useRouter } from "vue-router"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// · import lesli stores
|
|
40
|
-
import { useTickets } from "LesliSupport/vue/stores/tickets"
|
|
41
|
-
// import { useLesliMsg } from "../../../Lesli/lesli-vue/source/composables/msg/Msg.js"
|
|
42
|
-
|
|
43
|
-
// const msg = useLesliMsg()
|
|
44
|
-
|
|
45
|
-
// · initialize/inject plugins
|
|
46
|
-
const router = useRouter()
|
|
47
|
-
const date = inject("date")
|
|
48
|
-
const url = inject("url")
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// · implement stores
|
|
52
|
-
const storeTickets = useTickets()
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// · translations
|
|
56
|
-
const translations = {
|
|
57
|
-
tickets: i18n.t("lesli_support.tickets"),
|
|
58
|
-
lesli: i18n.t("lesli")
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// ·
|
|
63
|
-
const columns = [{
|
|
64
|
-
field: "id",
|
|
65
|
-
label: translations.tickets.column_id,
|
|
66
|
-
sort: true
|
|
67
|
-
}, {
|
|
68
|
-
field: "subject",
|
|
69
|
-
label: translations.tickets.column_subject,
|
|
70
|
-
sort: true
|
|
71
|
-
}, {
|
|
72
|
-
field: "deadline",
|
|
73
|
-
label: translations.tickets.column_deadline,
|
|
74
|
-
sort: true
|
|
75
|
-
}, {
|
|
76
|
-
field: "status_name",
|
|
77
|
-
label: translations.tickets.column_status,
|
|
78
|
-
align: "center",
|
|
79
|
-
sort: true
|
|
80
|
-
},{
|
|
81
|
-
field: "priority_name",
|
|
82
|
-
label: translations.tickets.column_priority,
|
|
83
|
-
align: "center",
|
|
84
|
-
sort: true
|
|
85
|
-
}, {
|
|
86
|
-
field: "user_name",
|
|
87
|
-
label: translations.tickets.column_creator,
|
|
88
|
-
sort: true
|
|
89
|
-
}]
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// · initializing
|
|
93
|
-
onMounted(() => {
|
|
94
|
-
storeTickets.getTickets()
|
|
95
|
-
})
|
|
96
|
-
</script>
|
|
97
|
-
<template>
|
|
98
|
-
<lesli-application-container>
|
|
99
|
-
<lesli-header title="Tickets">
|
|
100
|
-
<lesli-button @click="storeTickets.reloadTickets" icon="refresh" :loading="storeTickets.loading">
|
|
101
|
-
{{ translations.lesli.shared.button_reload }}
|
|
102
|
-
</lesli-button>
|
|
103
|
-
<lesli-link button solid :to="url.support('tickets/new')" icon="add">
|
|
104
|
-
{{ translations.lesli.shared.button_add_new }}
|
|
105
|
-
</lesli-link>
|
|
106
|
-
</lesli-header>
|
|
107
|
-
<lesli-toolbar
|
|
108
|
-
@search="storeTickets.search"
|
|
109
|
-
:placeholder="translations.lesli.shared.toolbar_search">
|
|
110
|
-
<lesli-select
|
|
111
|
-
:options="[{
|
|
112
|
-
label: translations.tickets.view_all_tickets,
|
|
113
|
-
value: null
|
|
114
|
-
}, {
|
|
115
|
-
label: translations.tickets.view_own_tickets,
|
|
116
|
-
value: 'own'
|
|
117
|
-
}]"
|
|
118
|
-
v-model="storeTickets.filters.user_type"
|
|
119
|
-
@change="storeTickets.getTickets()">
|
|
120
|
-
</lesli-select>
|
|
121
|
-
<lesli-select
|
|
122
|
-
:options="[{
|
|
123
|
-
label: translations.tickets.view_all_tickets,
|
|
124
|
-
value: null
|
|
125
|
-
}, {
|
|
126
|
-
label: translations.tickets.view_active_tickets,
|
|
127
|
-
value: 'active'
|
|
128
|
-
}, {
|
|
129
|
-
label: translations.tickets.view_inactive_tickets,
|
|
130
|
-
value: 'inactive'
|
|
131
|
-
}]"
|
|
132
|
-
v-model="storeTickets.filters.search_type"
|
|
133
|
-
@change="storeTickets.getTickets()">
|
|
134
|
-
</lesli-select>
|
|
135
|
-
</lesli-toolbar>
|
|
136
|
-
|
|
137
|
-
<lesli-table
|
|
138
|
-
:columns="columns"
|
|
139
|
-
:records="storeTickets.index.records"
|
|
140
|
-
:loading="storeTickets.index.loading"
|
|
141
|
-
:pagination="storeTickets.index.pagination"
|
|
142
|
-
:link="(ticket) => url.support('tickets/:id', ticket.id)">
|
|
143
|
-
</lesli-table>
|
|
144
|
-
</lesli-application-container>
|
|
145
|
-
</template>
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
/*
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by https://www.lesli.tech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// · import vue tools
|
|
35
|
-
import { onMounted, inject } from "vue"
|
|
36
|
-
import { useRouter } from "vue-router"
|
|
37
|
-
// import { useLesliMsg } from "/Users/ldonis/code/Lesli/lesli-vue/source/composables/msg/msg.js"
|
|
38
|
-
|
|
39
|
-
// const msg = useLesliMsg()
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// .
|
|
43
|
-
const url = inject("url")
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// . import components
|
|
47
|
-
import formTicket from "./components/form.vue"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// · import lesli stores
|
|
51
|
-
import { useTickets } from "LesliSupport/vue/stores/tickets"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
// · initialize/inject plugins
|
|
55
|
-
const router = useRouter()
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// · implement stores
|
|
59
|
-
const storeTickets = useTickets()
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
//·
|
|
63
|
-
const translations = {
|
|
64
|
-
lesli: i18n.t("lesli"),
|
|
65
|
-
tickets: i18n.t("lesli_support.tickets"),
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
</script>
|
|
69
|
-
<template>
|
|
70
|
-
<lesli-application-container>
|
|
71
|
-
<lesli-header title="Create new ticket">
|
|
72
|
-
<lesli-button :to="url.support('list')" icon="list">
|
|
73
|
-
{{ translations.lesli.shared.button_list }}
|
|
74
|
-
</lesli-button>
|
|
75
|
-
</lesli-header>
|
|
76
|
-
<form-ticket editable></form-ticket>
|
|
77
|
-
</lesli-application-container>
|
|
78
|
-
</template>
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
/*
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by https://www.lesli.tech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// · import vue tools
|
|
35
|
-
import { onMounted, computed, inject } from "vue"
|
|
36
|
-
import { useRouter, useRoute } from "vue-router"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// . import components
|
|
40
|
-
import formTicket from "./components/form.vue"
|
|
41
|
-
// import slaInfo from './components/sla-info.vue'
|
|
42
|
-
// import internalComments from './components/internal-comments.vue'
|
|
43
|
-
// import assignments from './components/assignments.vue'
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
import ComponentDiscussions from "Lesli/vue/cloudobjects/discussion.vue"
|
|
47
|
-
//import ComponentFiles from "Lesli/cloudobjects/components/file.vue"
|
|
48
|
-
//import ComponentWorkflowStatusDropdown from "Lesli/shared/workflows/components/workflow-status-dropdown.vue"
|
|
49
|
-
//import ComponentActions from "Lesli/cloudobjects/components/action.vue"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
// · import lesli stores
|
|
53
|
-
import { useTickets } from "LesliSupport/vue/stores/tickets"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// · initialize/inject plugins
|
|
57
|
-
const route = useRoute()
|
|
58
|
-
const router = useRouter()
|
|
59
|
-
const url = inject("url")
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// · implement stores
|
|
63
|
-
const storeTickets = useTickets()
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
//·
|
|
67
|
-
const translations = {
|
|
68
|
-
tickets: i18n.t("lesli_support.tickets"),
|
|
69
|
-
lesli: {
|
|
70
|
-
shared: i18n.t("lesli.shared")
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
main: I18n.t('help.tickets'),
|
|
75
|
-
sla: I18n.t('help.slas'),
|
|
76
|
-
core: {
|
|
77
|
-
shared: I18n.t('core.shared')
|
|
78
|
-
},
|
|
79
|
-
shared: I18n.t('help.shared')
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
//·
|
|
84
|
-
const props = defineProps({
|
|
85
|
-
editable: {
|
|
86
|
-
type: Boolean,
|
|
87
|
-
required: false,
|
|
88
|
-
default: false,
|
|
89
|
-
},
|
|
90
|
-
appMountPath: {
|
|
91
|
-
type: String,
|
|
92
|
-
required: false,
|
|
93
|
-
default: "help/tickets",
|
|
94
|
-
}
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
//·
|
|
99
|
-
onMounted(() => {
|
|
100
|
-
if (route.params.id) {
|
|
101
|
-
storeTickets.fetchTicket(route.params.id)
|
|
102
|
-
}
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
//·
|
|
107
|
-
const onUpdatedStatus = () => {
|
|
108
|
-
//storeTickets.getTicket(route.params.id)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
//·
|
|
113
|
-
const onDelete = () => {
|
|
114
|
-
storeTickets.deleteTicket().then(()=>{
|
|
115
|
-
router.push(url.root(`${props.appMountPath}`).s)
|
|
116
|
-
})
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
</script>
|
|
120
|
-
<template>
|
|
121
|
-
<lesli-application-container>
|
|
122
|
-
<lesli-header :title="`${storeTickets.ticket.subject} (${storeTickets.ticket.status || 'open'})`">
|
|
123
|
-
<lesli-link button icon="list" :to="url.support('tickets')">
|
|
124
|
-
{{ translations.lesli.shared.button_list }}
|
|
125
|
-
</lesli-link>
|
|
126
|
-
<lesli-link v-if="!props.editable" button warning :to="url.support('tickets/:id/edit', route.params.id)" icon="edit">
|
|
127
|
-
{{ translations.lesli.shared.button_edit }}
|
|
128
|
-
</lesli-link>
|
|
129
|
-
<lesli-link v-if="props.editable" button info :to="url.support('tickets/:id', route.params.id)" icon="visibility">
|
|
130
|
-
{{ translations.lesli.shared.button_show }}
|
|
131
|
-
</lesli-link>
|
|
132
|
-
<lesli-button danger @click="onDelete" icon="delete">
|
|
133
|
-
{{ translations.lesli.shared.button_delete }}
|
|
134
|
-
</lesli-button>
|
|
135
|
-
</lesli-header>
|
|
136
|
-
|
|
137
|
-
<lesli-tabs v-model="tab">
|
|
138
|
-
<lesli-tab-item title="Information" icon="info" paddingless>
|
|
139
|
-
<form-ticket :path="props.appMountPath" :editable="props.editable"></form-ticket>
|
|
140
|
-
</lesli-tab-item>
|
|
141
|
-
<lesli-tab-item title="Discussions" icon="forum">
|
|
142
|
-
<component-discussions
|
|
143
|
-
cloud-module="support"
|
|
144
|
-
cloud-object="tickets"
|
|
145
|
-
:cloud-object-id="storeTickets.ticket.id"
|
|
146
|
-
:onlyDiscussions="false">
|
|
147
|
-
</component-discussions>
|
|
148
|
-
</lesli-tab-item>
|
|
149
|
-
</lesli-tabs>
|
|
150
|
-
<!--
|
|
151
|
-
<lesli-tab-item title="Information" icon="info" paddingless>
|
|
152
|
-
<form-ticket :path="props.appMountPath" :editable="props.editable"></form-ticket>
|
|
153
|
-
</lesli-tab-item>
|
|
154
|
-
<lesli-tab-item :title="translations.tickets.tab_assignments" icon="group">
|
|
155
|
-
<assignments></assignments>
|
|
156
|
-
</lesli-tab-item>
|
|
157
|
-
<lesli-tab-item :title="translations.lesli.shared.view_files" icon="attach_file">
|
|
158
|
-
<component-files
|
|
159
|
-
cloud-module="help"
|
|
160
|
-
cloud-object="tickets"
|
|
161
|
-
:cloud-object-id="storeTickets.ticket.id"
|
|
162
|
-
:accepted-files="['images', 'documents', 'plaintext']">
|
|
163
|
-
</component-files>
|
|
164
|
-
</lesli-tab-item>
|
|
165
|
-
|
|
166
|
-
<lesli-tab-item :title="translations.main.view_tab_title_histories" icon="comment">
|
|
167
|
-
<internal-comments></internal-comments>
|
|
168
|
-
</lesli-tab-item>
|
|
169
|
-
|
|
170
|
-
<lesli-tab-item :title="translations.lesli.shared.view_quick_actions" icon="playlist_add_check">
|
|
171
|
-
<component-actions
|
|
172
|
-
cloud-module="help"
|
|
173
|
-
cloud-object="tickets"
|
|
174
|
-
:cloud-object-id="storeTickets.ticket.id">
|
|
175
|
-
</component-actions>
|
|
176
|
-
</lesli-tab-item>
|
|
177
|
-
|
|
178
|
-
<lesli-tab-item :title="translations.main.view_tab_title_sla" icon="article" v-if="storeTickets.ticket.sla">
|
|
179
|
-
<sla-info></sla-info>
|
|
180
|
-
</lesli-tab-item>
|
|
181
|
-
-->
|
|
182
|
-
</lesli-application-container>
|
|
183
|
-
</template>
|