mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-31 19:27:51 -06:00
112 lines
3.2 KiB
JavaScript
112 lines
3.2 KiB
JavaScript
$(document).ready(function () {
|
|
$('.relateTransaction').click(relateTransactionDialog);
|
|
//$('.unrelate-checkbox').click(unrelateTransaction);
|
|
|
|
});
|
|
|
|
function unrelateTransaction(e) {
|
|
var target = $(e.target);
|
|
var id = target.data('id');
|
|
var parent = target.data('parent');
|
|
|
|
if(typeof id == "undefined" && typeof parent == "undefined") {
|
|
target = target.parent();
|
|
id = target.data('id');
|
|
parent = target.data('parent');
|
|
}
|
|
console.log('unlink ' + id + ' from ' + parent);
|
|
|
|
$.post('related/removeRelation/' + id + '/' + parent, {_token: token}).success(function (data) {
|
|
target.parent().parent().remove();
|
|
}).fail(function () {
|
|
alert('Could not!');
|
|
});
|
|
|
|
|
|
return false;
|
|
|
|
|
|
//$.post('related/removeRelation/' + id + '/' + relatedTo, {_token: token}).success(function (data) {
|
|
// target.parent().parent().remove();
|
|
//}).fail(function () {
|
|
// alert('Could not!');
|
|
//});
|
|
|
|
}
|
|
|
|
function relateTransactionDialog(e) {
|
|
var target = $(e.target);
|
|
var ID = target.data('id');
|
|
|
|
|
|
$('#relationModal').empty().load('related/related/' + ID, function () {
|
|
|
|
$('#relationModal').modal('show');
|
|
getAlreadyRelatedTransactions(e, ID);
|
|
$('#searchRelated').submit(function (e) {
|
|
searchRelatedTransactions(e, ID);
|
|
|
|
return false;
|
|
});
|
|
});
|
|
|
|
|
|
return false;
|
|
}
|
|
|
|
|
|
function searchRelatedTransactions(e, ID) {
|
|
var searchValue = $('#relatedSearchValue').val();
|
|
if (searchValue != '') {
|
|
$.post('related/search/' + ID, {searchValue: searchValue, _token: token}).success(function (data) {
|
|
// post the results to some div.
|
|
$('#relatedSearchResultsTitle').show();
|
|
$('#relatedSearchResults').empty().html(data);
|
|
// remove any clicks.
|
|
$('.relate').unbind('click').on('click', doRelateNewTransaction);
|
|
|
|
}).fail(function () {
|
|
alert('Could not search. Sorry.');
|
|
});
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function doRelateNewTransaction(e) {
|
|
// remove the row from the table:
|
|
var target = $(e.target);
|
|
var id = target.data('id');
|
|
var parent = target.data('parent');
|
|
|
|
if (typeof id == "undefined" && typeof parent == "undefined") {
|
|
target = target.parent();
|
|
console.log(target);
|
|
id = target.data('id');
|
|
parent = target.data('parent');
|
|
}
|
|
|
|
console.log('Relate ' + id + ' to ' + parent);
|
|
$.post('related/relate/' + parent + '/' + id, {_token: token}).success(function (data) {
|
|
// success! remove entry:
|
|
target.parent().parent().remove();
|
|
// get related stuff (again).
|
|
getAlreadyRelatedTransactions(null, parent);
|
|
}).fail(function () {
|
|
// could not relate.
|
|
alert('Could not relate this transaction to the intended target.');
|
|
});
|
|
return false;
|
|
}
|
|
|
|
function getAlreadyRelatedTransactions(e, ID) {
|
|
//#alreadyRelated
|
|
$.get('related/alreadyRelated/' + ID).success(function (data) {
|
|
$('#alreadyRelated').empty().html(data);
|
|
// some event triggers.
|
|
$('.unrelate').unbind('click').on('click', unrelateTransaction);
|
|
|
|
}).fail(function () {
|
|
alert('Cannot get related stuff.');
|
|
});
|
|
} |