summaryrefslogtreecommitdiff
path: root/includes/view/ShiftTypes_view.php
blob: e0750617d14c328cc88aa72c83f568a984204d70 (plain)
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
<?php

/**
 * @param array $shifttype
 * @return string
 */
function ShiftType_name_render($shifttype)
{
    global $privileges;
    if (in_array('shifttypes', $privileges)) {
        return '<a href="' . shifttype_link($shifttype) . '">' . $shifttype['name'] . '</a>';
    }
    return $shifttype['name'];
}

/**
 * @param array $shifttype
 * @return string
 */
function ShiftType_delete_view($shifttype)
{
    return page_with_title(sprintf(_('Delete shifttype %s'), $shifttype['name']), [
        info(sprintf(_('Do you want to delete shifttype %s?'), $shifttype['name']), true),
        buttons([
            button(page_link_to('shifttypes'), _('cancel'), 'cancel'),
            button(
                page_link_to('shifttypes') . '&action=delete&shifttype_id=' . $shifttype['id'] . '&confirmed',
                _('delete'),
                'ok btn-danger'
            )
        ])
    ]);
}

/**
 * @param string   $name
 * @param int      $angeltype_id
 * @param array[]  $angeltypes
 * @param string   $description
 * @param int|bool $shifttype_id
 * @return string
 */
function ShiftType_edit_view($name, $angeltype_id, $angeltypes, $description, $shifttype_id)
{
    $angeltypes_select = [
        '' => _('All')
    ];
    foreach ($angeltypes as $angeltype) {
        $angeltypes_select[$angeltype['id']] = $angeltype['name'];
    }

    return page_with_title($shifttype_id ? _('Edit shifttype') : _('Create shifttype'), [
        msg(),
        buttons([
            button(page_link_to('shifttypes'), shifttypes_title(), 'back')
        ]),
        form([
            form_text('name', _('Name'), $name),
            form_select('angeltype_id', _('Angeltype'), $angeltypes_select, $angeltype_id),
            form_textarea('description', _('Description'), $description),
            form_info('', _('Please use markdown for the description.')),
            form_submit('submit', _('Save'))
        ])
    ]);
}

/**
 * @param array $shifttype
 * @param array $angeltype
 * @return string
 */
function ShiftType_view($shifttype, $angeltype)
{
    $parsedown = new Parsedown();
    $title = $shifttype['name'];
    if ($angeltype) {
        $title .= ' <small>' . sprintf(_('for team %s'), $angeltype['name']) . '</small>';
    }
    return page_with_title($title, [
        msg(),
        buttons([
            button(page_link_to('shifttypes'), shifttypes_title(), 'back'),
            $angeltype ? button(
                page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id'],
                $angeltype['name']
            ) : '',
            button(page_link_to('shifttypes') . '&action=edit&shifttype_id=' . $shifttype['id'], _('edit'), 'edit'),
            button(
                page_link_to('shifttypes') . '&action=delete&shifttype_id=' . $shifttype['id'],
                _('delete'),
                'delete'
            )
        ]),
        heading(_('Description'), 2),
        $parsedown->parse($shifttype['description'])
    ]);
}

/**
 * @param array[] $shifttypes
 * @return string
 */
function ShiftTypes_list_view($shifttypes)
{
    foreach ($shifttypes as &$shifttype) {
        $shifttype['name'] = '<a href="' . page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype['id'] . '">' . $shifttype['name'] . '</a>';
        $shifttype['actions'] = table_buttons([
            button(page_link_to('shifttypes') . '&action=edit&shifttype_id=' . $shifttype['id'], _('edit'), 'btn-xs'),
            button(
                page_link_to('shifttypes') . '&action=delete&shifttype_id=' . $shifttype['id'],
                _('delete'),
                'btn-xs'
            )
        ]);
    }

    return page_with_title(shifttypes_title(), [
        msg(),
        buttons([
            button(page_link_to('shifttypes') . '&action=edit', _('New shifttype'), 'add')
        ]),
        table([
            'name'    => _('Name'),
            'actions' => ''
        ], $shifttypes)
    ]);
}