diff --git a/Controllers/OrderController.cs b/Controllers/OrderController.cs index 98e06f6..ccf840e 100644 --- a/Controllers/OrderController.cs +++ b/Controllers/OrderController.cs @@ -43,7 +43,7 @@ namespace rockfishCore.Controllers //do stuff with the notification (string username, string password) = rockfishCore.Util.AutoOrderProcessingUtil.GetUsernameAndPasswordFromAuthorizeHeader(Authorization); // Now use username and password with whatever authentication process you want - if (username == "Y24PYYDQSA1L12905N5MKU" && password == "GI2F7CP17C2JS872MHASAF") + if (username == "Y24PYYDQSA1L12905N5MKU" && password == "MA8GMQK2PC3FDNT1RTR68R") { //put the notification into the db as freeform notification information //to be processed by other code later. i.e. just capture it as is cleanly and don't bother trying to do anything fancy here this should be tight and focused and side effect free diff --git a/wwwroot/js/app.api.js b/wwwroot/js/app.api.js index 1a9aaa4..498ed26 100644 --- a/wwwroot/js/app.api.js +++ b/wwwroot/js/app.api.js @@ -12,383 +12,445 @@ /*global $, io, app */ app.api = (function () { - "use strict"; - var initModule, - getAuthHeaderObject, - RockFishVersion, - get, - remove, - create, - update, - uploadFile, - putAction, - postAction, - createLicense, - createRavLicense, - getLicenseRequests, - generateFromRequest, - licenseEmailResponse; + "use strict"; + var initModule, + getAuthHeaderObject, + RockFishVersion, + get, + remove, + create, + update, + uploadFile, + putAction, + postAction, + createLicense, + createRavLicense, + getLicenseRequests, + generateFromRequest, + licenseEmailResponse, + test; - RockFishVersion = "6.20"; + RockFishVersion = "6.20"; - ////////////////////////////////////////////////////////////////////////////////////// - // NOT AUTHORIZED ERROR HANDLER + ////////////////////////////////////////////////////////////////////////////////////// + // NOT AUTHORIZED ERROR HANDLER - $(document).ajaxError(function (event, jqxhr, settings, thrownError) { - //unauthorized? Trigger logout which will trigger login after clearing creds - if (jqxhr.status == 401) { - window.location.replace("#!/logout"); - } - }); + $(document).ajaxError(function (event, jqxhr, settings, thrownError) { + //unauthorized? Trigger logout which will trigger login after clearing creds + if (jqxhr.status == 401) { + window.location.replace("#!/logout"); + } + }); - ////////////////////////////////////////////////////////////////////////////////////// - // UTILITY + ////////////////////////////////////////////////////////////////////////////////////// + // UTILITY - /////////////////////////////////////////////////////////// - // Return the auth token header - // - // - getAuthHeaderObject = function () { - return { - Authorization: "Bearer " + app.shell.stateMap.user.token + /////////////////////////////////////////////////////////// + // Return the auth token header + // + // + getAuthHeaderObject = function () { + return { + Authorization: "Bearer " + app.shell.stateMap.user.token + }; }; - }; - ////////////////////////////////////////////////////////////////////////////////////// - // ROCKFISH CORE ROUTES + ////////////////////////////////////////////////////////////////////////////////////// + // ROCKFISH CORE ROUTES - /////////////////////////////////////////////////////////// - //Create - //Route app.post('/api/:obj_type/create', function (req, res) { - // - create = function (apiRoute, objData, callback) { - $.ajax({ - method: "post", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - data: JSON.stringify(objData), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //Create + //Route app.post('/api/:obj_type/create', function (req, res) { + // + create = function (apiRoute, objData, callback) { + $.ajax({ + method: "post", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - ///////////////// - //Get - get anything, the caller provides the route, this should replace most legacy get - // - get = function (apiRoute, callback) { - $.ajax({ - method: "GET", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), + ///////////////// + //Get - get anything, the caller provides the route, this should replace most legacy get + // + get = function (apiRoute, callback) { + $.ajax({ + method: "GET", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; - //////////////////// + }; + //////////////////// - /////////////////////////////////////////////////////////// - //Update - //route: app.post('/api/:obj_type/update/:id', function (req, res) { - // - update = function (objType, objData, callback) { - var theId; - if (!objData.id) { - return callback({ - error: 1, - msg: "app.api.js::update->Error: missing id field in update document", - error_detail: objData - }); - } - theId = objData.id; - $.ajax({ - method: "put", - dataType: "json", - url: app.shell.stateMap.apiUrl + objType + "/" + theId, - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - data: JSON.stringify(objData), - success: function (data, textStatus) { - if (data == null) { - data = { ok: 1 }; + /////////////////////////////////////////////////////////// + //Update + //route: app.post('/api/:obj_type/update/:id', function (req, res) { + // + update = function (objType, objData, callback) { + var theId; + if (!objData.id) { + return callback({ + error: 1, + msg: "app.api.js::update->Error: missing id field in update document", + error_detail: objData + }); } + theId = objData.id; + $.ajax({ + method: "put", + dataType: "json", + url: app.shell.stateMap.apiUrl + objType + "/" + theId, + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data, textStatus) { + if (data == null) { + data = { ok: 1 }; + } - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - //remove Item - remove = function (apiRoute, callback) { - $.ajax({ - method: "DELETE", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //remove Item + remove = function (apiRoute, callback) { + $.ajax({ + method: "DELETE", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - // uploadFile - // (ajax route to upload a file) - // - uploadFile = function (apiRoute, objData, callback) { - $.ajax({ - method: "post", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), - contentType: false, - processData: false, - data: objData, - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + // uploadFile + // (ajax route to upload a file) + // + uploadFile = function (apiRoute, objData, callback) { + $.ajax({ + method: "post", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), + contentType: false, + processData: false, + data: objData, + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - ////////////////////////////////////////////////////////////// - //putAction - ad-hoc put method used to trigger actions etc - // - putAction = function (apiRoute, callback) { - $.ajax({ - method: "put", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - //data: JSON.stringify(objData), - success: function (data, textStatus) { - if (data == null) { - data = { ok: 1 }; - } + ////////////////////////////////////////////////////////////// + //putAction - ad-hoc put method used to trigger actions etc + // + putAction = function (apiRoute, callback) { + $.ajax({ + method: "put", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + //data: JSON.stringify(objData), + success: function (data, textStatus) { + if (data == null) { + data = { ok: 1 }; + } - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - ////////////////////////////////////////////////////////////// - //postAction - ad-hoc post method used to trigger actions etc - // (becuase it shouldn't have been put in the first place above) - postAction = function (apiRoute, callback) { - $.ajax({ - method: "post", - dataType: "json", - url: app.shell.stateMap.apiUrl + apiRoute, - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - success: function (data, textStatus) { - if (data == null) { - data = { ok: 1 }; - } + ////////////////////////////////////////////////////////////// + //postAction - ad-hoc post method used to trigger actions etc + // (becuase it shouldn't have been put in the first place above) + postAction = function (apiRoute, callback) { + $.ajax({ + method: "post", + dataType: "json", + url: app.shell.stateMap.apiUrl + apiRoute, + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + success: function (data, textStatus) { + if (data == null) { + data = { ok: 1 }; + } - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown, - error_detail: {} + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: + textStatus + + "\n" + + jqXHR.responseText + + "\n" + + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - ////////////////////////////////////////////////////////////////////////////////////// - // LICENSE KEY RELATED API METHODS + ////////////////////////////////////////////////////////////////////////////////////// + // LICENSE KEY RELATED API METHODS - /////////////////////////////////////////////////////////// - //CreateLicense - //Route app.post('/api/license/create', function (req, res) { - // - createLicense = function (objData, callback) { - $.ajax({ - method: "post", - dataType: "text", - url: app.shell.stateMap.apiUrl + "license/generate", - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - data: JSON.stringify(objData), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //CreateLicense + //Route app.post('/api/license/create', function (req, res) { + // + createLicense = function (objData, callback) { + $.ajax({ + method: "post", + dataType: "text", + url: app.shell.stateMap.apiUrl + "license/generate", + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - //CreateRavLicense - //Route app.post('/api/license/create', function (req, res) { - // - createRavLicense = function (objData, callback) { - $.ajax({ - method: "post", - dataType: "text", - url: app.shell.stateMap.apiUrl + "rvl", - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - data: JSON.stringify(objData), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //CreateRavLicense + //Route app.post('/api/license/create', function (req, res) { + // + createRavLicense = function (objData, callback) { + $.ajax({ + method: "post", + dataType: "text", + url: app.shell.stateMap.apiUrl + "rvl", + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - //GetLicenseRequests - //Fetch license requests - //route: app.get('/api/license/requests', function (req, res) { - // - getLicenseRequests = function (callback) { - $.ajax({ - method: "GET", - dataType: "json", - url: app.shell.stateMap.apiUrl + "license/requests", - headers: getAuthHeaderObject(), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //GetLicenseRequests + //Fetch license requests + //route: app.get('/api/license/requests', function (req, res) { + // + getLicenseRequests = function (callback) { + $.ajax({ + method: "GET", + dataType: "json", + url: app.shell.stateMap.apiUrl + "license/requests", + headers: getAuthHeaderObject(), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - //GenerateFromRequest - //Fetch generated response to license request - //route: app.get('/api/license/generateFromRequest/:uid', function (req, res) { - // - generateFromRequest = function (uid, callback) { - $.ajax({ - method: "GET", - dataType: "json", - url: app.shell.stateMap.apiUrl + "license/generateFromRequest/" + uid, - headers: getAuthHeaderObject(), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //GenerateFromRequest + //Fetch generated response to license request + //route: app.get('/api/license/generateFromRequest/:uid', function (req, res) { + // + generateFromRequest = function (uid, callback) { + $.ajax({ + method: "GET", + dataType: "json", + url: + app.shell.stateMap.apiUrl + + "license/generateFromRequest/" + + uid, + headers: getAuthHeaderObject(), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - /////////////////////////////////////////////////////////// - //Email license request response - //app.post('/api/license/email_response', function (req, res) { - // - licenseEmailResponse = function (objData, callback) { - $.ajax({ - method: "post", - dataType: "text", - url: app.shell.stateMap.apiUrl + "license/email_response", - headers: getAuthHeaderObject(), - contentType: "application/json; charset=utf-8", - data: JSON.stringify(objData), - success: function (data, textStatus) { - callback(data); - }, - error: function (jqXHR, textStatus, errorThrown) { - callback({ - error: 1, - msg: textStatus + "\n" + errorThrown, - error_detail: {} + /////////////////////////////////////////////////////////// + //Email license request response + //app.post('/api/license/email_response', function (req, res) { + // + licenseEmailResponse = function (objData, callback) { + $.ajax({ + method: "post", + dataType: "text", + url: app.shell.stateMap.apiUrl + "license/email_response", + headers: getAuthHeaderObject(), + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data, textStatus) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } }); - } - }); - }; + }; - initModule = function () {}; + /////////////////////////////////////////////////////////// + //test functin for rockfish endpoint testing + // + // + test = function (objData, callback) { + //Test fake shareit webhook + $.ajax({ + method: "post", + dataType: "json", + url: app.shell.stateMap.apiUrl + "order/shareit", + username: 'Y24PYYDQSA1L12905N5MKU', + password: 'MA8GMQK2PC3FDNT1RTR68R', + contentType: "application/json; charset=utf-8", + data: JSON.stringify(objData), + success: function (data) { + callback(data); + }, + error: function (jqXHR, textStatus, errorThrown) { + callback({ + error: 1, + msg: textStatus + "\n" + errorThrown, + error_detail: {} + }); + } + }); + }; - return { - initModule: initModule, - getAuthHeaderObject: getAuthHeaderObject, - RockFishVersion: RockFishVersion, - get: get, - remove: remove, - create: create, - update: update, - uploadFile: uploadFile, - putAction: putAction, - postAction: postAction, - createLicense: createLicense, - createRavLicense: createRavLicense, - getLicenseRequests: getLicenseRequests, - generateFromRequest: generateFromRequest, - licenseEmailResponse: licenseEmailResponse - }; + initModule = function () {}; + + return { + initModule: initModule, + getAuthHeaderObject: getAuthHeaderObject, + RockFishVersion: RockFishVersion, + get: get, + remove: remove, + create: create, + update: update, + uploadFile: uploadFile, + putAction: putAction, + postAction: postAction, + createLicense: createLicense, + createRavLicense: createRavLicense, + getLicenseRequests: getLicenseRequests, + generateFromRequest: generateFromRequest, + licenseEmailResponse: licenseEmailResponse, + test: test + }; })(); diff --git a/wwwroot/js/app.rfsettings.js b/wwwroot/js/app.rfsettings.js index 8d0f48f..7b5de62 100644 --- a/wwwroot/js/app.rfsettings.js +++ b/wwwroot/js/app.rfsettings.js @@ -7,108 +7,152 @@ /*global $, app */ -app.rfsettings = (function() { - "use strict"; - //---------------- BEGIN MODULE SCOPE VARIABLES -------------- - var stateMap = {}, - configModule, - onChangePassword, - initModule, - onTest; - //----------------- END MODULE SCOPE VARIABLES --------------- +app.rfsettings = (function () { + "use strict"; + //---------------- BEGIN MODULE SCOPE VARIABLES -------------- + var stateMap = {}, + configModule, + onChangePassword, + initModule, + onTest; + //----------------- END MODULE SCOPE VARIABLES --------------- - //------------------- BEGIN UTILITY METHODS ------------------ - //-------------------- END UTILITY METHODS ------------------- - - //------------------- BEGIN EVENT HANDLERS ------------------- - - /////////////////////////////// - //ONUPDATE - // - onChangePassword = function(event) { - event.preventDefault(); - $.gevent.publish("app-clear-error"); - //get form data - var formData = $("form").serializeArray({ - checkboxesAsBools: true - }); - - var submitData = app.utilB.objectifyFormDataArray(formData); - - app.api.create( - "user/" + app.shell.stateMap.user.id + "/changepassword", - submitData, - function(res) { - if (res.error) { - $.gevent.publish("app-show-error", res.msg); - } else { - page("#!/logout"); - } - } - ); - - return false; //prevent default? - }; + //------------------- BEGIN UTILITY METHODS ------------------ + //-------------------- END UTILITY METHODS ------------------- + //------------------- BEGIN EVENT HANDLERS ------------------- /////////////////////////////// - //ONTEST - // - onTest = function(event) { - event.preventDefault(); - + //ONUPDATE + // + onChangePassword = function (event) { + event.preventDefault(); + $.gevent.publish("app-clear-error"); + //get form data + var formData = $("form").serializeArray({ + checkboxesAsBools: true + }); - return false; //prevent default? - }; - //-------------------- END EVENT HANDLERS -------------------- + var submitData = app.utilB.objectifyFormDataArray(formData); - //------------------- BEGIN PUBLIC METHODS ------------------- - //CONFIGMODULE - // - configModule = function(context) { - stateMap.context = context.context; - if (stateMap.context.params.id) { - stateMap.id = stateMap.context.params.id; - } - }; - - //INITMODULE - // - initModule = function($container) { - if (typeof $container === "undefined") { - $container = $("#app-shell-main-content"); - } - $container.html(Handlebars.templates["app.rfsettings"]({})); - - // bind actions - $("#btn-change-password").bind("click", onChangePassword); - $("#btn-test").bind("click", onTest); - - //Context menu - app.nav.contextClear(); - - app.api.get("meta/server_version/", function(res) { - if (res.error) { - $.gevent.publish("app-show-error", res.msg); - } else { - $("#about").append( - "

Rockfish client version: " + - app.api.RockFishVersion + - "

Rockfish server version: " + - res.server_version + - "

" + app.api.create( + "user/" + app.shell.stateMap.user.id + "/changepassword", + submitData, + function (res) { + if (res.error) { + $.gevent.publish("app-show-error", res.msg); + } else { + page("#!/logout"); + } + } ); - } - }); - ////app.nav.setContextTitle("Search"); - }; + return false; //prevent default? + }; - //PUBLIC METHODS - // - return { - configModule: configModule, - initModule: initModule - }; - //------------------- END PUBLIC METHODS --------------------- + /////////////////////////////// + //ONTEST + // + onTest = function (event) { + event.preventDefault(); + var submitData = { + creation_date: "2018-06-19T11:08:09.0000000Z", // <-- NEW + id: 283832781, // <-- NEW + order_notification: { + // <-- NEW - Type of the message (same as in XML with out the "e5"-prefix) + purchase: { + customer_data: { + billing_contact: {}, + customer_payment_data: {}, + delivery_contact: {}, + language: "English", + language_iso: "en", // <-- NEW + reg_name: "Test", + shopper_id: "5678", // <-- NEW, also known as Customer ID + subscribe_newsletter: false, + user_id: "abc@test.com-100" + }, + payment_status: "complete", + payment_status_id: "PCA", // <-- NEW, our status ID + purchase_id: 1234567890, + purchase_date: "2018-03-29T10:25:12.0000000Z", + purchase_item: [ + // <-- NEW, this is now an array + { + running_no: 1, + your_product_id: + "this is the same as product_code in the API" + }, + { + running_no: 2 + } + ], + purchase_origin: "online" + } + } + }; + app.api.test(submitData, function (res) { + if (res.error) { + $.gevent.publish("app-show-error", res.msg); + } else { + //do nothing, success! + + //$('#key').val(res); + return false; + } + }); + + return false; //prevent default? + }; + //-------------------- END EVENT HANDLERS -------------------- + + //------------------- BEGIN PUBLIC METHODS ------------------- + //CONFIGMODULE + // + configModule = function (context) { + stateMap.context = context.context; + if (stateMap.context.params.id) { + stateMap.id = stateMap.context.params.id; + } + }; + + //INITMODULE + // + initModule = function ($container) { + if (typeof $container === "undefined") { + $container = $("#app-shell-main-content"); + } + $container.html(Handlebars.templates["app.rfsettings"]({})); + + // bind actions + $("#btn-change-password").bind("click", onChangePassword); + $("#btn-test").bind("click", onTest); + + //Context menu + app.nav.contextClear(); + + app.api.get("meta/server_version/", function (res) { + if (res.error) { + $.gevent.publish("app-show-error", res.msg); + } else { + $("#about").append( + "

Rockfish client version: " + + app.api.RockFishVersion + + "

Rockfish server version: " + + res.server_version + + "

" + ); + } + }); + + ////app.nav.setContextTitle("Search"); + }; + + //PUBLIC METHODS + // + return { + configModule: configModule, + initModule: initModule + }; + //------------------- END PUBLIC METHODS --------------------- })();