aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/lib/admin_sem_class.js
blob: 698a8d6b2770b69a60f4f9ca046a6d7ebc34a3d7 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/* ------------------------------------------------------------------------
 * SemClass administration - only for root-user
 * ------------------------------------------------------------------------ */

const admin_sem_class = {
    make_sortable: function() {
        jQuery('#plugins .droparea').sortable({
            revert: true,
        });

    },
    saveData: function() {

        var modules = {};
        jQuery('div.plugin').each(function() {
            var activated = jQuery(this)
                .find('input[name=active]')
                .is(':checked');
            var sticky =
                !jQuery(this)
                    .find('input[name=nonsticky]')
                    .is(':checked');
            var module_name = jQuery(this).attr('id');
            if (module_name) {
                module_name = module_name.substr(module_name.indexOf('_') + 1);
            }
            modules[module_name] = {
                activated: +activated,
                sticky: +sticky
            };
        });
        jQuery('#message_below').html('');
        jQuery.ajax({
            url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/admin/sem_classes/save',
            data: {
                sem_class_id: jQuery('#sem_class_id').val(),
                sem_class_name: jQuery('#sem_class_name').val(),
                sem_class_description: jQuery('#sem_class_description').val(),
                title_dozent: !jQuery('#title_dozent_isnull').is(':checked') ? jQuery('#title_dozent').val() : '',
                title_dozent_plural: !jQuery('#title_dozent_isnull').is(':checked')
                    ? jQuery('#title_dozent_plural').val()
                    : '',
                title_tutor: !jQuery('#title_tutor_isnull').is(':checked') ? jQuery('#title_tutor').val() : '',
                title_tutor_plural: !jQuery('#title_tutor_isnull').is(':checked')
                    ? jQuery('#title_tutor_plural').val()
                    : '',
                title_autor: !jQuery('#title_autor_isnull').is(':checked') ? jQuery('#title_autor').val() : '',
                title_autor_plural: !jQuery('#title_autor_isnull').is(':checked')
                    ? jQuery('#title_autor_plural').val()
                    : '',
                modules: modules,
                workgroup_mode: jQuery('#workgroup_mode').is(':checked') ? 1 : 0,
                studygroup_mode: jQuery('#studygroup_mode').is(':checked') ? 1 : 0,
                only_inst_user: jQuery('#only_inst_user').is(':checked') ? 1 : 0,
                default_read_level: jQuery('#default_read_level').val(),
                default_write_level: jQuery('#default_write_level').val(),
                bereiche: jQuery('#bereiche').is(':checked') ? 1 : 0,
                module: jQuery('#module').is(':checked') ? 1 : 0,
                show_browse: jQuery('#show_browse').is(':checked') ? 1 : 0,
                write_access_nobody: jQuery('#write_access_nobody').is(':checked') ? 1 : 0,
                topic_create_autor: jQuery('#topic_create_autor').is(':checked') ? 1 : 0,
                visible: jQuery('#visible').is(':checked') ? 1 : 0,
                course_creation_forbidden: jQuery('#course_creation_forbidden').is(':checked') ? 1 : 0,
                create_description: jQuery('#create_description').val(),
                admission_prelim_default: jQuery('#admission_prelim_default').val(),
                admission_type_default: jQuery('#admission_type_default').val(),
                show_raumzeit: jQuery('#show_raumzeit').is(':checked') ? 1 : 0,
                is_group: jQuery('#is_group').is(':checked') ? 1 : 0
            },
            type: 'POST',
            dataType: 'json',
            success: function(data) {
                jQuery('#message_below').html(data.html);
            }
        });
    },
    delete_sem_type_question: function() {
        var sem_type = jQuery(this)
            .closest('li')
            .attr('id');
        sem_type = sem_type.substr(sem_type.lastIndexOf('_') + 1);
        jQuery('#sem_type_for_deletion').val(sem_type);
        jQuery('#sem_type_delete_question').dialog({
            title: jQuery('#sem_type_delete_question_title').text()
        });
    },
    add_sem_type: function() {
        jQuery.ajax({
            url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/admin/sem_classes/add_sem_type',
            type: 'post',
            data: {
                sem_class: jQuery('#sem_class_id').val(),
                name: jQuery('#new_sem_type').val()
            },
            success: function(ret) {
                jQuery('#sem_type_list').append(jQuery(ret));
                jQuery('#new_sem_type')
                    .val('')
                    .closest('li')
                    .children()
                    .toggle();
            },
            error: function() {
                jQuery('#new_sem_type')
                    .val('')
                    .closest('li')
                    .children()
                    .toggle();
            }
        });
    },
    delete_sem_type: function() {
        jQuery.ajax({
            url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/admin/sem_classes/delete_sem_type',
            data: {
                sem_type: jQuery('#sem_type_for_deletion').val()
            },
            type: 'post',
            success: function() {
                jQuery('#sem_type_' + jQuery('#sem_type_for_deletion').val()).remove();
                jQuery('#sem_type_delete_question').dialog('close');
            }
        });
    },
    rename_sem_type: function() {
        jQuery(this)
            .closest('span.name_container')
            .children()
            .toggle();
        var name = this.value;
        var old_name = jQuery(this)
            .closest('.name_container')
            .find('.name_html');
        var sem_type = jQuery(this)
            .closest('li')
            .attr('id');
        sem_type = sem_type.substr(sem_type.lastIndexOf('_') + 1);
        jQuery.ajax({
            url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/admin/sem_classes/rename_sem_type',
            data: {
                sem_type: sem_type,
                name: name
            },
            type: 'post',
            success: function() {
                old_name.text(name);
            }
        });
    }
};

export default admin_sem_class;