From 2e5a854056fdc15198ea6f14dde5272a21a477ad Mon Sep 17 00:00:00 2001 From: chrqls Date: Tue, 10 Jun 2014 09:07:29 +0200 Subject: [PATCH 1/2] [#39] Adding similar logo for student webapp --- static/images/smile_grey_student.png | Bin 0 -> 19551 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/smile_grey_student.png diff --git a/static/images/smile_grey_student.png b/static/images/smile_grey_student.png new file mode 100644 index 0000000000000000000000000000000000000000..db37609cdf197465e415e6470f06d3c489bfcb87 GIT binary patch literal 19551 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

9~#x;%Q%dnp~ZBhNXf?g3Gh27a{rp)jXu710{c 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 O0000 Date: Wed, 11 Jun 2014 23:55:59 +0200 Subject: [PATCH 2/2] [#39] This is a really cool update: number of questions for each student, and green light color when student finished answering --- routes/index.js | 2 +- static/js/smilestudent.js | 4 +- static/js/smileteacher.js | 103 +++++++++++++++++++--------- static/smile-student.html | 56 ++++++--------- static/smile-teacher.html | 141 ++++++++++++++++++++++---------------- 5 files changed, 175 insertions(+), 131 deletions(-) diff --git a/routes/index.js b/routes/index.js index 9d577e8..a01fba8 100644 --- a/routes/index.js +++ b/routes/index.js @@ -844,7 +844,7 @@ exports.handleQuestionJSONDelete = function(req, res) { } } } - res.sendJSON(HTTP_STATUS_OK, {'status': status}); + res.sendJSON(HTTP_STATUS_OK, {'status': status,'IP':question.IP}); }; exports.handleQuestionImageGet = function(req, res) { diff --git a/static/js/smilestudent.js b/static/js/smilestudent.js index de8d485..02bd2b4 100644 --- a/static/js/smilestudent.js +++ b/static/js/smilestudent.js @@ -363,7 +363,7 @@ GlobalViewModel.doAnswerNextQ = function() { // // Should we do something else? // - absoluteAlert('Submitted Answers for ' + GlobalViewModel.username(), DELAY_SHORT,'blue'); + absoluteAlert('Answers submitted!', DELAY_SHORT,'blue'); }); } /* if (self.validateInquiry()) { @@ -626,7 +626,7 @@ function doPostInquiry(inquirydata, cb) { absoluteAlert('Unable to post inquiry. Reason: ' + xhr.status + ':' + xhr.responseText + '. Please verify your connection or server status.', DELAY_ERROR,'trace'); }, success: function(data) { - absoluteAlert('Sent Inquiry Question', DELAY_NORMAL,'green'); + absoluteAlert('Question sent!', DELAY_NORMAL,'green'); if (cb) { cb(data); } diff --git a/static/js/smileteacher.js b/static/js/smileteacher.js index 19a9bb4..e752389 100644 --- a/static/js/smileteacher.js +++ b/static/js/smileteacher.js @@ -28,7 +28,7 @@ #SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. **/ -var VERSION = '0.8.1'; +var VERSION = '0.8.3'; // Interval of time used to update the GlobalViewModel var DELAY_UPDATE_BOARD = 5000; @@ -75,7 +75,6 @@ var Student = function(name,ip) { var Question = function(sessionID,urlImage,author,question,answer,options,ip,type) { - //this.position = position; this.session_id = sessionID; this.urlImage = urlImage; this.author = author; @@ -199,8 +198,12 @@ GlobalViewModel.redirectView = function() { break; case 'QUESTION': - case 'QUESTION_PIC': addQuestion(dataAll[i]); break; - case 'HAIL': addStudent(dataAll[i]); break; + case 'QUESTION_PIC': + addQuestion(dataAll[i]); break; + case 'HAIL': + addStudent(dataAll[i]); break; + case 'ANSWER': + questionsAnsweredByStudent(dataAll[i].IP); break; default: break; } } @@ -368,6 +371,21 @@ GlobalViewModel.startSolvingQuestions = function() { this.redirectView(); } + +function questionsAnsweredByStudent(IP_student, withAbsoluteAlert) { + + $('table#students tr').each(function(index) { + + var td_name = $(this).find('td[smile=name_of_student]'); + var td_IP = $(this).find('td[smile=ip_of_student]'); + + if(td_IP.find('input[type=hidden]').val() === IP_student && !td_name.hasClass('answered')) { + td_name.addClass('answered'); + if(withAbsoluteAlert) absoluteAlert(''+td_name.find('input[type=hidden]').val()+' finished answering!',DELAY_NORMAL); + } + }); +} + GlobalViewModel.seeResults = function() { $('.see_results').addClass('hidden'); @@ -460,11 +478,23 @@ GlobalViewModel.removeQuestionFromSession = function() { absoluteAlert('Unable to remove question from session', DELAY_ERROR, 'trace'); }, success: function(data) { - absoluteAlert('Question deleted', DELAY_NORMAL, 'green'); + absoluteAlert('Question of student deleted!', DELAY_NORMAL, 'green'); switchSection('general-board'); + + // Decrementing number of questions of a student (if the question does not come from an iqset) + if(GlobalViewModel.students().length) { + + $('table#students tr').each(function(index) { + + if($(this).find('td[smile=ip_of_student] input[type=hidden]').val() === data.IP) { + + var amount = $(this).find('td[smile=number_of_questions] span'); + amount.text(parseInt(amount.text())-1); + } + }); + } } }); - } } } @@ -492,12 +522,12 @@ GlobalViewModel.talkToStudent = function() { message['TYPE'] = 'TEACHER'; message.TEXT = GlobalViewModel.message_for_student(); - message.IP = $(this).find('input[type=hidden]').val(); + message.IP = $(this).find('td[smile=ip_of_student] input[type=hidden]').val(); postMessage('talk',JSON.stringify(message)); }); } else { - absoluteAlert('Please select a student', DELAY_SHORT,'red'); + absoluteAlert('Please select a student', DELAY_SHORT,'red'); } } @@ -556,17 +586,6 @@ GlobalViewModel.saveNewIQSet = function() { (encapsulation of code used by the actions) -------------------------------------------------------- */ -/* -GlobalViewModel.seeContent = function() { - - var content = ''; - - $('table#questions tr.checked').each(function( index ) { - content += $(this).find('input[type=hidden]').attr('name')+'|'; - }); - - absoluteAlert('checked:'+content,10000); -}*/ function absoluteAlert(text, lifetime, alerttype, hasCross) { @@ -627,14 +646,29 @@ function addQuestion(question) { question.IP, question.TYPE )); + + // Incrementing number of questions of a student (if the question does not come from an iqset) + if(GlobalViewModel.students().length) { + + $('table#students tr').each(function(index) { + + if($(this).find('td[smile=ip_of_student] input[type=hidden]').val() === question.IP) { + + var amount = $(this).find('td[smile=number_of_questions] span'); + amount.text(parseInt(amount.text())+1); + } + }); + } } + function addStudent(student) { GlobalViewModel.students.push( new Student( student.NAME, student.IP - )); + ) + ); } // To recap, each time this function is called, it updates students, questions, and session values @@ -691,28 +725,29 @@ function updateGVM() { break; case 'SESSION_VALUES': - if(dataAll[i].teacherName !== GlobalViewModel.teacher_name()) { - GlobalViewModel.teacher_name(dataAll[i].teacherName); - GlobalViewModel.session_name(dataAll[i].sessionName); - GlobalViewModel.group_name(dataAll[i].groupName); - } + if(dataAll[i].teacherName !== GlobalViewModel.teacher_name()) { + GlobalViewModel.teacher_name(dataAll[i].teacherName); + GlobalViewModel.session_name(dataAll[i].sessionName); + GlobalViewModel.group_name(dataAll[i].groupName); + } break; case 'HAIL': - if(!GVM_students.contains('"ip":"'+dataAll[i].IP+'"')) { - addStudent(dataAll[i]); - absoluteAlert(''+dataAll[i].NAME+' appears!',DELAY_NORMAL); - - } + if(!GVM_students.contains('"ip":"'+dataAll[i].IP+'"')) { + addStudent(dataAll[i]); + absoluteAlert(''+dataAll[i].NAME+' appears!',DELAY_NORMAL); + } break; case 'QUESTION': case 'QUESTION_PIC': - if(!GVM_questions.contains('"session_id":"'+dataAll[i].SessionID+'"')) { - addQuestion(dataAll[i]); - absoluteAlert('New question from '+dataAll[i].NAME+'!',DELAY_NORMAL); - } + if(!GVM_questions.contains('"session_id":"'+dataAll[i].SessionID+'"')) { + addQuestion(dataAll[i]); + absoluteAlert('New question from '+dataAll[i].NAME+'!',DELAY_NORMAL); + } break; + case 'ANSWER': + questionsAnsweredByStudent(dataAll[i].IP,true); break; } } diff --git a/static/smile-student.html b/static/smile-student.html index d9ed684..37b36f8 100644 --- a/static/smile-student.html +++ b/static/smile-student.html @@ -40,7 +40,7 @@ -

+
@@ -399,68 +399,56 @@

Congrats. You got 5/10 correct.

- - +
- +
diff --git a/static/smile-teacher.html b/static/smile-teacher.html index 60052c7..a95f0e6 100644 --- a/static/smile-teacher.html +++ b/static/smile-teacher.html @@ -36,40 +36,22 @@