define([ "./app/Content", "./app/Page", "./app/Path", "./lib/async", "./model/classes/responses", "./model/classes/surveyRuns", "./pages/response", "dojo/_base/json", "dojo/date", "dojo/date/locale", "dojo/hash", "dojo/parser", "dojo/request", "./stddeps", "dojo/domReady!" ], function(Content, Page, Path, async, responses, surveyRuns, ResponsePage, json, date, locale, hash, parser, request) { parser.parse(); Content.startup(); function error(msg) { Content.set(new Page({ templateString: "
"+msg+"
" })); } var path = new Path('/:type/:id'); var params = path.match(hash()); params.options = params.options || {}; if ( params && params.type === 'surveyRuns' ) { var response = responses.create(); response.surveyRunId = params.id; responses.postWithSecret(response,params.options.secret) .then(setContent,function(err){ error(err.error); }); } else if ( params && params.type === 'responses' ) { responses.getWithSecret(params.id,params.options.secret) .then(setContent,function(err){ error(err.error); }); } else { error("Something is wrong with the URL, don't know what survey to show you. Sorry."); } function setContent(response) { hash(Path.format(responses.getObjectPath(response), {secret:response.secret})); Content.set(new ResponsePage({ response: response })); } });