Skip to content
Snippets Groups Projects
Select Git revision
  • 737c0b2ade4ea92ea85ad9c536553abfcbc96877
  • main default protected
  • step-3263
  • feature/plugins-cli
  • feature/vite
  • step-2484-peerreview
  • biest/issue-5051
  • tests/simplify-jsonapi-tests
  • fix/typo-in-1a70031
  • feature/broadcasting
  • database-seeders-and-factories
  • feature/peer-review-2
  • feature-feedback-jsonapi
  • feature/peerreview
  • feature/balloon-plus
  • feature/stock-images-unsplash
  • tic-2588
  • 5.0
  • 5.2
  • biest/unlock-blocks
  • biest-1514
21 results

consultations.js

  • Forked from Stud.IP / Stud.IP
    2096 commits behind the upstream repository.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    consultations.js 1.01 KiB
    import { $gettext } from '../lib/gettext.js';
    
    $(document).on('click', '.consultation-delete-check:not(.ignore)', event => {
        const form       = $(event.target).closest('form');
        const checkboxes = form.find(':checkbox[name="slot-id[]"]:checked');
        const ids        = checkboxes.map((index, element) => element.value.split('-').pop()).get();
    
        if (!ids.length) {
            return false;
        }
    
        let requests = ids.map(id => {
            return STUDIP.jsonapi.GET(`consultation-slots/${id}/bookings`).then(result => result.data.length);
        });
        $.when(...requests).done((...results) => {
            if (results.some(result => result > 0)) {
                $(event.target).addClass('ignore').click().removeClass('ignore');
            } else {
                STUDIP.Dialog.confirm($gettext('Wollen Sie diese Termine wirklich löschen?')).done(() => {
                    $('<input type="hidden" name="delete" value="1"/>').appendTo(form);
                    form.submit();
                });
            }
        });
    
        event.preventDefault();
    });