aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/lib/calendar_dialog.js
blob: e42a1490dca9c475c5c4e7bf207cb7c7a869e2d7 (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
import Dialog from './dialog.js';

const CalendarDialog = {
    closeMps: function(form) {
        var added_users = [];
        jQuery('#calendar-manage_access_selectbox option:selected').each(function() {
            added_users[added_users.length] = jQuery(this).attr('value');
        });
        jQuery.ajax({
            url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/calendar/single/add_users/',
            data: {
                added_users: added_users
            },
            type: 'post'
        });
        jQuery(form)
            .closest('.ui-dialog-content')
            .dialog('close');
        Dialog.fromURL(jQuery('#calendar-open-manageaccess').attr('href'));
        return false;
    },

    removeUser: function(element) {
        var url = jQuery(element).attr('href');
        jQuery(element).removeAttr('href');
        jQuery.ajax({
            url: url,
            type: 'get',
            success: function() {
                var head_tr = jQuery(element)
                    .closest('tr')
                    .prev('.calendar-user-head');
                jQuery(element)
                    .closest('tr')
                    .remove();
                if (head_tr.nextUntil('.calendar-user-head').length === 0) {
                    head_tr.remove();
                }
            }
        });
        return false;
    },

    addException: function() {
        var exc_date = jQuery('#exc-date').val();
        var exists = jQuery('#exc-dates input').is("input[value='" + exc_date + "']");
        if (!exists) {
            var compiled = _.template(
                '<li><label>' +
                    '<input type="checkbox" name="del_exc_dates[]" value="<%- excdate %>" style="display: none">' +
                    '<span><%- excdate %><img src="' +
                    STUDIP.ASSETS_URL +
                    'images/icons/blue/trash.svg' +
                    '"></span></label>' +
                    '<input type="hidden" name="exc_dates[]" value="<%- excdate %>">' +
                    '</li>'
            );
            jQuery('#exc-dates').append(compiled({ excdate: exc_date, link: '' }));
        }
        return false;
    }
};

export default CalendarDialog;