View | Details | Raw Unified | Return to bug 37910
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/concerns.tt (-7 / +26 lines)
Lines 127-139 Link Here
127
                "columns": [{
127
                "columns": [{
128
                        "data": "reported_date:reporter.firstname",
128
                        "data": "reported_date:reporter.firstname",
129
                        "render": function(data, type, row, meta) {
129
                        "render": function(data, type, row, meta) {
130
                            let reported = '<span class="date clearfix">' + $datetime(row.reported_date) + '</span>';
130
                            let reported = '<div class="d-flex justify-content-between align-items-start">';
131
                            reported += '<span class="reporter clearfix">' + $patron_to_html(row.reporter, {
131
                            reported += '<span class="reporter">' + $patron_to_html(row.reporter, {
132
                                display_cardnumber: false,
132
                                display_cardnumber: false,
133
                                url: true
133
                                url: true
134
                            }) + '</span>';
134
                            }) + '</span>';
135
                            reported += '<span class="date text-muted">' + $datetime(row.reported_date) + '</span>';
136
                            reported += '</div>';
135
                            return reported;
137
                            return reported;
136
                        },
138
                       },
137
                        "searchable": true,
139
                        "searchable": true,
138
                        "orderable": true
140
                        "orderable": true
139
                    },
141
                    },
Lines 141-151 Link Here
141
                        "data": "title:body",
143
                        "data": "title:body",
142
                        "render": function(data, type, row, meta) {
144
                        "render": function(data, type, row, meta) {
143
                            let resolved = ( row.resolved_date ) ? true : false;
145
                            let resolved = ( row.resolved_date ) ? true : false;
144
                            let result = '<a role="button" href="#" class="detail-trigger">' + row.title + '</a>';
146
                            let result = '<div class="d-flex justify-content-between align-items-start">';
147
                            
148
                            // Title link on the left
149
                            result += '<a id="title_' + row.ticket_id + '" role="button" href="#" class="detail-trigger">' + row.title + '</a>';
150
                            
151
                            // Updates count on the right, if it exists
145
                            if (row.updates_count) {
152
                            if (row.updates_count) {
146
                                result += '<span class="pull-right"><a role="button" href="#" class="detail-trigger"><i class="fa fa-comment" aria-hidden="true"></i> ' + row.updates_count + '</a></span>';
153
                                result += '<span><a role="button" href="#" class="detail-trigger"><i class="fa fa-comment" aria-hidden="true"></i> ' + row.updates_count + '</a></span>';
147
                            }
154
                            }
155
                            
156
                            // Hidden detail content
157
                            result += '</div>';
148
                            result += '<div id="detail_' + row.ticket_id + '" style="display:none">' + row.body + '</div>';
158
                            result += '<div id="detail_' + row.ticket_id + '" style="display:none">' + row.body + '</div>';
159
                            
149
                            return result;
160
                            return result;
150
                        },
161
                        },
151
                        "searchable": true,
162
                        "searchable": true,
Lines 166-191 Link Here
166
                        "render": function(data, type, row, meta) {
177
                        "render": function(data, type, row, meta) {
167
                            let result = '';
178
                            let result = '';
168
                            if (row.resolved_date) {
179
                            if (row.resolved_date) {
180
                                result += "<div>";
169
                                result += _("Resolved by") + ' <span>' + $patron_to_html(row.resolver, {
181
                                result += _("Resolved by") + ' <span>' + $patron_to_html(row.resolver, {
170
                                    display_cardnumber: false,
182
                                    display_cardnumber: false,
171
                                    url: true
183
                                    url: true
172
                                }) + '</span>';
184
                                }) + '</span>';
185
                                result += "</div>";
173
                                if (row.status) {
186
                                if (row.status) {
187
                                    result += '<div>';
174
                                    result += ' ' + _("as") + ' ';
188
                                    result += ' ' + _("as") + ' ';
175
                                    result += row._strings.status ? escape_str(row._strings.status.str) : "";
189
                                    result += row._strings.status ? escape_str(row._strings.status.str) : "";
190
                                    result += '</div>';
176
                                }
191
                                }
177
                                result += '<span class="clearfix">' + $datetime(row.resolved_date) + '</span>';
192
                                result += '<div>' + $datetime(row.resolved_date) + '</div>';
178
                            } else {
193
                            } else {
194
                                result += '<div>';
179
                                if (row.status) {
195
                                if (row.status) {
180
                                    result += row._strings.status ? escape_str(row._strings.status.str) : "";
196
                                    result += row._strings.status ? escape_str(row._strings.status.str) : "";
181
                                } else {
197
                                } else {
182
                                    result += _("Open");
198
                                    result += _("Open");
183
                                }
199
                                }
200
                                result += '</div>';
184
                                if (row.assignee) {
201
                                if (row.assignee) {
185
                                    result += '<span class="clearfix">' + _("Assigned to: ") + $patron_to_html(row.assignee, {
202
                                    result += '<div>';
203
                                    result += _("Assigned to: ") + ' <span>' + $patron_to_html(row.assignee, {
186
                                        display_cardnumber: false,
204
                                        display_cardnumber: false,
187
                                        url: true
205
                                        url: true
188
                                    }) + '</span>';
206
                                    }) + '</span>';
207
                                    result += '</div>';
189
                                }
208
                                }
190
                            }
209
                            }
191
                            return result;
210
                            return result;
(-)a/koha-tmpl/intranet-tmpl/prog/js/modals/display_ticket.js (-30 / +43 lines)
Lines 31-52 $(document).ready(function () { Link Here
31
            $("#resolveTicket").show();
31
            $("#resolveTicket").show();
32
        }
32
        }
33
33
34
        let title = $("#title_" + ticket_id).text();
34
        let detail = $("#detail_" + ticket_id).text();
35
        let detail = $("#detail_" + ticket_id).text();
35
36
36
        // Display ticket details
37
        // Display ticket details
37
        let display = '<div class="list-group">';
38
        let display = '<div class="list-group">';
38
        display += '<div class="list-group-item">';
39
        display +=
40
            '<div class="list-group-item list-group-item-secondary d-flex justify-content-between align-items-start">';
41
        display += '<div class="ms-2 me-auto">';
42
        display += '<div class="fw-bold">' + title + "</div>";
43
        display += '<div class="wrapfix">' + detail + "</div>";
44
        display += "</div>";
39
        if (assignee) {
45
        if (assignee) {
46
            display += "<span>";
40
            display +=
47
            display +=
41
                '<span class="pull-right"><span class="label strong">' +
48
                '<label class="label strong">' +
42
                __("Assignee") +
49
                __("Assignee") +
43
                "</span>: " +
50
                "</label>: " +
51
                "<span>" +
44
                assignee +
52
                assignee +
45
                "</span>";
53
                "</span>";
54
            display += "</span>";
46
        }
55
        }
47
        display += '<span class="wrapfix">' + detail + "</span>";
48
        display += "</div>";
56
        display += "</div>";
49
        display += '<div id="concern-updates" class="list-group-item">';
57
        display +=
58
            '<div id="concern-updates" class="list-group-item list-group-item-info">';
50
        display += "<span>" + __("Loading updates . . .") + "</span>";
59
        display += "<span>" + __("Loading updates . . .") + "</span>";
51
        display += "</div>";
60
        display += "</div>";
52
        display += "</div>";
61
        display += "</div>";
Lines 68-116 $(document).ready(function () { Link Here
68
                data.forEach(function (item, index) {
77
                data.forEach(function (item, index) {
69
                    if (item.public) {
78
                    if (item.public) {
70
                        updates +=
79
                        updates +=
71
                            '<div class="list-group-item list-group-item-success">';
80
                            '<div class="list-group-item list-group-item-success d-flex flex-column">';
72
                        updates +=
73
                            '<span class="pull-right">' +
74
                            __("Public") +
75
                            "</span>";
76
                    } else {
81
                    } else {
77
                        updates +=
82
                        updates +=
78
                            '<div class="list-group-item list-group-item-warning">';
83
                            '<div class="list-group-item list-group-item-warning d-flex flex-column">';
79
                        updates +=
80
                            '<span class="pull-right">' +
81
                            __("Private") +
82
                            "</span>";
83
                    }
84
                    }
85
                    updates += '<div class="d-flex">';
84
                    updates +=
86
                    updates +=
85
                        '<span class="wrapfix">' + item.message + "</span>";
87
                        '<div class="flex-grow-1 mb-0 wrapfix">' +
86
                    updates +=
88
                        item.message +
87
                        '<span class="clearfix">' +
89
                        "</div>";
88
                        $patron_to_html(item.user, {
90
                    updates += '<div class="d-flex flex-column ms-3 text-end">';
89
                            display_cardnumber: false,
91
                    if (item.public) {
90
                            url: true,
92
                        updates +=
91
                        }) +
93
                            '<span class="mb-1">' + __("Public") + "</span>";
92
                        " (" +
94
                    } else {
93
                        $datetime(item.date) +
95
                        updates +=
94
                        ")";
96
                            '<span class="mb-1">' + __("Private") + "</span>";
97
                    }
95
                    if (item.status) {
98
                    if (item.status) {
96
                        updates += '<span class="clearfix pull-right">';
99
                        updates += '<span class="mb-1">';
97
                        updates += item._strings.status
100
                        updates += item._strings.status
98
                            ? escape_str(item._strings.status.str)
101
                            ? escape_str(item._strings.status.str)
99
                            : "";
102
                            : "";
100
                        updates += "</span>";
103
                        updates += "</span>";
101
                    }
104
                    }
102
                    if (item.assignee) {
105
                    if (item.assignee) {
103
                        updates += '<span class="clearfix pull-right">';
106
                        updates += '<span class="mb-1">';
104
                        updates += $patron_to_html(item.assignee, {
107
                        updates += $patron_to_html(item.assignee, {
105
                            display_cardnumber: false,
108
                            display_cardnumber: false,
106
                            url: true,
109
                            url: true,
107
                        });
110
                        });
108
                        updates += "</span>";
111
                        updates += "</span>";
109
                    }
112
                    }
110
                    updates += "</span>";
113
                    updates += "</div>";
114
                    updates += "</div>";
115
                    updates +=
116
                        '<div class="text-end text-muted small mt-2">' +
117
                        $patron_to_html(item.user, {
118
                            display_cardnumber: false,
119
                            url: true,
120
                        }) +
121
                        " (" +
122
                        $datetime(item.date) +
123
                        ")" +
124
                        "</div>";
111
                    updates += "</div>";
125
                    updates += "</div>";
112
                });
126
                });
113
                updates_display.html(updates);
127
                updates_display.replaceWith(updates);
114
            })
128
            })
115
            .error(function () {});
129
            .error(function () {});
116
130
117
- 

Return to bug 37910