/* * rhwebimport * * Copyright (C) 2014-2015 Christian Pointner * Copyright (C) 2015 Peter Grassberger * * This file is part of rhwebimport. * * rhwebimport is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * rhwebimport is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with rhwebimport. If not, see . */ "use strict"; var Rivendell = Rivendell || {}; Rivendell.Rivendell = function(username, token) { this.username = username; this.token = token }; Rivendell.Rivendell.prototype.addCut = function(cartNumber, success) { var command = { COMMAND: 10, LOGIN_NAME: this.username, PASSWORD: this.token, CART_NUMBER: cartNumber }; return $.post("/rd-bin/rdxport.cgi", command, success, 'xml'); }; Rivendell.Rivendell.prototype.removeCut = function(destinationCartNumber, destinationCutNumber, success) { var command = { COMMAND: 11, LOGIN_NAME: this.username, PASSWORD: this.token, CART_NUMBER: destinationCartNumber, CUT_NUMBER: destinationCutNumber }; return $.post("/rd-bin/rdxport.cgi", command, success, 'xml'); }; Rivendell.Rivendell.prototype.copyCut = function(sourceCartNumber, sourceCutNumber, destinationCartNumber, success) { var self = this; this.addCut(destinationCartNumber, function(data, textStatus, jqXHR) { var destinationCutNumber = $('cutAdd cut cutNumber', data).text(); self.copyAudio(sourceCartNumber,sourceCutNumber, destinationCartNumber, destinationCutNumber, success).fail(function() { self.removeCut(destinationCartNumber, destinationCutNumber, null); }); }); }; /** * * @param sourceCartNumber * @param sourceCutNumber * @param destinationCartNumber * @param success */ Rivendell.Rivendell.prototype.moveCut = function(sourceCartNumber, sourceCutNumber, destinationCartNumber, success) { var self = this; this.copyCut(sourceCartNumber, sourceCutNumber, destinationCartNumber, function(data, textStatus, jqXHR) { self.removeCut(sourceCartNumber, sourceCutNumber, success); }); }; Rivendell.Rivendell.prototype.copyAudio = function(sourceCartNumber, sourceCutNumber, destinationCartNumber, destinationCutNumber, success) { var command = { COMMAND: 18, LOGIN_NAME: this.username, PASSWORD: this.token, SOURCE_CART_NUMBER: sourceCartNumber, SOURCE_CUT_NUMBER: sourceCutNumber, DESTINATION_CART_NUMBER: destinationCartNumber, DESTINATION_CUT_NUMBER: destinationCutNumber }; return $.post("/rd-bin/rdxport.cgi", command, success, 'xml'); };