Skip to content
Snippets Groups Projects
process.js 33.15 KiB
import("Context_lib");
import("KeywordRegistry_basic");
import("Neon_lib");
import("system.vars");
import("system.util");
import("system.datetime");
import("system.text");
import("system.neon");
import("system.db");
import("system.translate");
import("system.eMath");
import("Util_lib");
import("Sql_lib");
import("Keyword_lib");
import("Product_lib");
import("Report_lib");
import("OfferOrder_lib");

/**
 * Methods used by Order.
 * Do not create an instance of this!
 * 
 * @class
 */
function OrderUtils() {}
   
/**
 * Delivers the next valid order number (has to be unique)
 * 
 * @return {String} next valid order number
 */
OrderUtils.getNextOrderNumber = function() {
    return NumberSequencingUtils.getNextUniqueNumber("SALESORDERCODE", "SALESORDER");
}
    
/**
 * Delivers the next valid order version number
 * 
 * @return {String} orderCode next valid order version number
 */
OrderUtils.getNextOrderVersionNumber = function(orderCode) {
    return NumberSequencingUtils.getNextUniqueNumber("SALESORDERCODE", "SALESORDER", 1, "SALESORDERCODE = " + orderCode);
}
    
/**
 * Checks if the passed order number is valid (has to be unique)
 * 
 * @param {String} orderNumber order number to check
 * 
 * @return {Boolean} passed number is valid
 */
OrderUtils.validateOrderNumber = function(orderNumber) {
    return NumberSequencingUtils.validateUniqueNumber(orderNumber, "SALESORDERCODE", "SALESORDER");
}
    
OrderUtils.getOrderNumberValidationFailString = function() {
    return translate.text("The order number already exists!");
}
   

OrderUtils.isEditable = function(status) {

    // TODO: Administrator darf immer ändern, warten auf neue Berechtigungslogik?

    // Order should be editable if order state not equals "Sent"
    return status != "1";
}

OrderUtils.isDeletable = function(status) {
    // TODO: Administrator darf immer ändern, warten auf neue Berechtigungslogik?