restart Lesson button implemented and attack link modification for CSRF lesson
This commit is contained in:
@ -139,6 +139,7 @@
|
||||
<button type="button" id="showSolutionBtn" class="btn btn-primary btn-xs" ng-click="showLessonSolution()">Solution</button>
|
||||
<button type="button" id="showPlanBtn" class="btn btn-primary btn-xs" ng-click="showLessonPlan()">Lesson Plan</button>
|
||||
<button type="button" id="showHintsBtn" class="btn btn-primary btn-xs" ng-click="viewHints()">Hints</button>
|
||||
<button type="button" id="restartLessonBtn" class="btn btn-xs" ng-click="restartLesson()">Restart Lesson</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lessonHelp" id="lesson_hint_row">
|
||||
@ -351,6 +352,7 @@
|
||||
// make any embedded forms ajaxy
|
||||
goat.utils.showLessonCookiesAndParams();
|
||||
goat.utils.makeFormsAjax();
|
||||
goat.utils.ajaxifyAttackHref(); //TODO find some way to hook scope for current menu. Likely needs larger refactor which is already started/stashed
|
||||
//refresh menu
|
||||
angular.element($('#leftside-navigation')).scope().renderMenu();
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ var goatConstants = {
|
||||
lessonPlanService:'service/lessonplan.mvc',
|
||||
menuService: 'service/lessonmenu.mvc',
|
||||
lessonTitleService: 'service/lessontitle.mvc',
|
||||
restartLessonService: 'service/restartlesson.mvc',
|
||||
// literals
|
||||
notFound: 'Could not find',
|
||||
noHints: 'There are no hints defined.'
|
||||
|
@ -85,7 +85,8 @@ var goatMenu = function($scope, $http, $modal, $log, $templateCache) {
|
||||
//TODO encode html or get angular js portion working
|
||||
$("#lesson_content").html(reply.data);
|
||||
//hook forms
|
||||
goat.utils.makeFormsAjax();
|
||||
goat.utils.makeFormsAjax();// inject form?
|
||||
goat.utils.ajaxifyAttackHref();
|
||||
$('#leftside-navigation').height($('#main-content').height()+15)//TODO: get ride of fixed value (15)here
|
||||
//notifies goatLesson Controller of the less change
|
||||
$scope.$emit('lessonUpdate',{params:curScope.parameters});
|
||||
@ -234,6 +235,14 @@ var goatLesson = function($scope,$http,$log) {
|
||||
$scope.hideHints = function() {
|
||||
|
||||
};
|
||||
|
||||
$scope.restartLesson = function () {
|
||||
goat.data.loadRestart($http).then(
|
||||
function(resp) {
|
||||
angular.element($('#leftside-navigation')).scope().renderLesson(null,resp.data);
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
$scope.showAbout = function() {
|
||||
$('#aboutModal').modal({
|
||||
|
@ -36,5 +36,9 @@ goat.data = {
|
||||
},
|
||||
loadLessonTitle: function ($http) {
|
||||
return $http({method: 'GET', url: goatConstants.lessonTitleService});
|
||||
},
|
||||
loadRestart: function ($http) {
|
||||
return $http({method: 'GET', url:goatConstants.restartLessonService})
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -91,8 +91,23 @@ goat.utils = {
|
||||
makeId: function (lessonName) {
|
||||
return lessonName.replace(/\s|\(|\)|\!|\:|\;|\@|\#|\$|\%|\^|\&|\*/g,'');//TODO move the replace routine into util function
|
||||
},
|
||||
ajaxifyAttackHREF: function () {
|
||||
// stub for dealing with CSRF lesson link issues and other similar issues
|
||||
ajaxifyAttackHref: function () {
|
||||
$.each($('a[href^="attack?"]'),
|
||||
function(i,el) {
|
||||
var url = $(el).attr('href');
|
||||
$(el).attr('href','#');
|
||||
$(el).attr('link',url);
|
||||
//TODO pull currentMenuId
|
||||
$(el).click(
|
||||
function() {
|
||||
var _url = $(el).attr('link');
|
||||
$.get(_url, {success:showResponse});
|
||||
//return $.get(_url, {}, null, "html");
|
||||
//angular.element($('#leftside-navigation')).scope().renderLesson(curMenuItem,url);
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user