Skip to content
Snippets Groups Projects
eportfolio.js 5.67 KiB
Newer Older
var student = getQueryVariable("token");
var project = getQueryVariable("projectId");
var description = 0;
$(document).ready(function () {
    $.ajax({
        url: "../rest/projectdescription/" + project + "/" + student
    }).then(function (data) {
        console.log("desc: " + data);
        description = data.id;
        $('#projectdescriptionId').val(description);

        if (!data.open) {
            $("#description-edit").remove();
        }
        $('.journal-description-text').append(data.descriptionHTML);
        for (var ii in data.links) {
            console.log(data.links[ii])
            $('.journal-description-links').append('<button class="btn btn-default btn-xs" onclick=\'linkLoeschen("' + data.links[ii].id + '")\'> <i class="fa fa-trash" aria-hidden="true" ></i></button><a href=' + data.links[ii].link + '>' + data.links[ii].name + '</a> <br/>');
tudtianus's avatar
tudtianus committed
        $('.journal-description-links').append('<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#addLinkModal"><i class="fa fa-plus" aria-hidden="true"></i></button>');
        for (var g in data.group) {
            $('.journal-description-group').append(data.group[g] + '<br/>');
        $('.exportLink').append('<a class="btn btn-default btn-sm" href="../rest/eportfolio/pdf/'+student +'/' + project + '">Portfolio herunterladen</a>');
    $.ajax({
tudtianus's avatar
tudtianus committed
        url: "../rest/journal/journals/" + student + "/" + project + "/ALL"
    }).then(function (data) {
Thomas Schnaak's avatar
Thomas Schnaak committed
        loadJournals(data);
        console.log(data);
    });

    $('#editDescriptionLink').on('click', function () {
        location.href = "edit-description.jsp?project=" + project + "&token=" + student + "&projectId=" + project;
    });

    $('#createJournalLink').on('click', function () {
        location.href = "create-journal.jsp?token=" + student + "&projectId=" + project;
tudtianus's avatar
tudtianus committed
$(document).on("click", ".open-CloseJournalDialog", function () {
    var journalID = $(this).data('id');
    console.log("on:" + $(this).data('id'));
    $('#journalID-input').val(journalID);
});


Thomas Schnaak's avatar
Thomas Schnaak committed
function timestampToDateString(timestamp) {
    var date = new Date(timestamp);
    return date.toLocaleString("de-DE");
}

function filterJournals() {
    var filter = $('#journalfilter option:selected').val();
tudtianus's avatar
tudtianus committed
    project = getQueryVariable("projectId");
    $('.journal').empty();

    $.ajax({
tudtianus's avatar
tudtianus committed
        url: "../rest/journal/journals/" + student + "/" + project + "/" + filter
    }).then(function (data) {
Thomas Schnaak's avatar
Thomas Schnaak committed
        loadJournals(data);
        console.log(data);

    });

}

function loadJournals(data) {
    for (var journal in data) {
tudtianus's avatar
tudtianus committed
        var journalString = '<div class="journal-container">' +
            '<div class="journal-avatar">' +
            'getBild' +
            '</div>' +
            '<div class="journal-date"> ' +
            timestampToDateString(data[journal].timestamp) +
            '</div>' +
            '<div class="journal-name">' +
            // TODO id to name
            data[journal].studentIdentifier.studentId +
            '</div>' +
            '<div class="journal-category">' +
            data[journal].category +
            '</div>' +
            '<div class="journal-edit" align="right">';

        //TODO userToken...
        if (data[journal].studentIdentifier.studentId == student && data[journal].open) {
tudtianus's avatar
tudtianus committed
            journalString = journalString +
                '<a class="btn btn-default btn-sm" href="create-journal.jsp?token=' + student + '&projectId=' + project + '&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' +
tudtianus's avatar
tudtianus committed
                '<a class="open-CloseJournalDialog btn btn-default btn-sm" data-toggle="modal" data-id ='
                + data[journal].id +
                ' data-target ="#closeJournalModal" > <i class="fa fa-check-square" aria-hidden = "true" ></i> Abschlie&szlig;en</a> '
        }

        journalString = journalString + '</div>' +
            '<div class="journal-text">' +
            data[journal].entryHTML +
            '</div>' +
            '</div><br><br>';

        $('.journal').append(journalString)
function linkLoeschen(id) {
    console.log("löschen" + id);
tudtianus's avatar
tudtianus committed
    $.ajax({
        type: "POST",
        url: "../rest/projectdescription/deleteLink",
tudtianus's avatar
tudtianus committed
        contentType: "application/json; charset=utf-8",
        crossDomain: true,
        dataType: "json",
        success: function (data, status, jqXHR) {

        }
    });
    location.reload();
tudtianus's avatar
tudtianus committed
function closeJournal() {
tudtianus's avatar
tudtianus committed
    //TODO reload when modal close
tudtianus's avatar
tudtianus committed
    var journalID = $('#journalID-input').val();
    console.log("schließe=" + journalID);
    $.ajax({
        type: "POST",
        url: "../rest/journal/close",
tudtianus's avatar
tudtianus committed
        data: journalID,
        contentType: "application/json; charset=utf-8",
        crossDomain: true,
        dataType: "text",
        success: function (data, status, jqXHR) {
            console.log("succ");
            filterJournals();
tudtianus's avatar
tudtianus committed
    });
}

function closeDescription() {
    console.log("schließe=" + description);

    $.ajax({
        type: "POST",
        url: "../rest/projectdescription/close",
        data: description,
        contentType: "application/json; charset=utf-8",
        crossDomain: true,
        dataType: "text",
        success: function (data, status, jqXHR) {
            console.log("succ");
            location.reload();
        }
    });
}

//load PDF via rest

function downloadPortfolio() {

    $.ajax({
        type: "GET",
        url: "../rest/eportfolio/pdfB/" + student + "/" + project,
        dataType: "application/pdf",
        success: function(data, textStatus, jqXHR) {
            window.open("data:application/pdf," + escape(data));
        },
    });