1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
const reservationsGrid = $("#reservationsGrid");
const reservationsModal = $("#reservationModal");
reservationsGrid.kendoGrid({
noRecords: {
template: "Fant ingen reservasjoner"
},
filterable: true,
sortable: false,
resizable: true,
scrollable: true,
editable: false,
dataSource: {
transport: {
read: "/api/reservations/all",
}
},
schema: {
model: {
id: "id",
fields: {
id: {editable: false}
}
}
},
error: function (e) {
if (e.xhr.responseJSON.error) {
$.notificate("En feil oppstod", e.xhr.responseJSON.error, "error");
}
},
columns:
[
{
field: "name",
title: "Navn",
filterable: {
multi: true,
search: true
}
},
{
title: "Fra/Til",
template: "#= data.from # / #= data.to #"
},
{
field: "status",
title: "Status",
filterable: {
multi: true,
search: false
},
values: [
{
text: "Ventende",
value: 0
},
{
text: "Godkjent",
value: 1,
},
{
text: "Avvist",
value: 2
},
{
text: "Inaktiv",
value: 3
},
],
template: $("#reservationStatusTextTemplate").html()
},
{
field: "cabin",
title: "Hytte",
filterable: {
multi: true,
search: false
}
},
{
command:
{
template: $("#reservationsRowCommandButtons").html()
},
title: " ",
}
]
});
function inspectReservation(e) {
let dataItem = reservationsGrid.data("kendoGrid").dataItem($(e).closest("tr"));
let template = kendo.template($("#reservationInfoTemplate").html());
let generatedHtml = template(dataItem);
reservationsModal.html(generatedHtml);
reservationsModal.modal("show");
}
function grantReservation(e) {
let dataItem = reservationsGrid.data("kendoGrid").dataItem($(e).closest("tr"));
$.ajax({
url: "/api/reservations/grant?id=" + dataItem.id,
method: "get",
success: function (e) {
$.notificate("Reservasjon godkjent", dataItem.name + " har fått en statusoppdatering på mail", "success");
reservationsGrid.data("kendoGrid").dataSource.read();
},
error: function (e) {
$.notificate("En feil oppstod", e.error ? e.error : "Vennligst prøv igjen senere", "error");
reservationsGrid.data("kendoGrid").dataSource.read();
}
})
}
function rejectReservation(e) {
let dataItem = reservationsGrid.data("kendoGrid").dataItem($(e).closest("tr"));
$.ajax({
url: "/api/reservations/deny?id=" + dataItem.id,
method: "get",
success: function (e) {
$.notificate("Reservasjon avvist", dataItem.name + " har fått en statusoppdatering på mail", "success");
reservationsGrid.data("kendoGrid").dataSource.read();
},
error: function (e) {
$.notificate("En feil oppstod", e.error ? e.error : "Vennligst prøv igjen senere", "error");
reservationsGrid.data("kendoGrid").dataSource.read();
}
})
}
|