Skip to content
This repository was archived by the owner on Aug 21, 2018. It is now read-only.

Commit

Permalink
[#981] Review and credit for members (#990)
Browse files Browse the repository at this point in the history
  • Loading branch information
razu9861 authored and Rupesh87 committed Aug 15, 2017
1 parent d208f94 commit 3d9165f
Show file tree
Hide file tree
Showing 9 changed files with 232 additions and 96 deletions.
5 changes: 5 additions & 0 deletions app/MyApp/app/Home-Urdu.css
Original file line number Diff line number Diff line change
Expand Up @@ -1252,3 +1252,8 @@ form > fieldset > ul > li.bbf-field.field-selectLanguage {
#addIndividualResource{
width:110px;
}
#CommunitySelect{
float: left;
margin-top: -45px;
margin-right: 15px;
}
7 changes: 6 additions & 1 deletion app/MyApp/app/Home.css
Original file line number Diff line number Diff line change
Expand Up @@ -1059,4 +1059,9 @@ form > fieldset > ul > li.bbf-field.field-selectLanguage {
.courseInfo{
width:97%;
margin-left:20px;
}
}
#CommunitySelect{
float: right;
margin-top: -45px;
margin-right: 15px;
}
131 changes: 88 additions & 43 deletions app/MyApp/app/Router.js
Original file line number Diff line number Diff line change
Expand Up @@ -420,25 +420,74 @@ $(function() {
var creditsView = new App.Views.CreditsLeaderView();
App.$el.children('.body').html('<div id="creditsMainTable"></div>');
$('#creditsMainTable').append('<h3>' + 'Course Credits' + '</h3>');
var CoursecommunityList = "";
if(App.configuration.get('type') == 'nation'){
$.ajax({
url: '/community/_design/bell/_view/getCommunityByCode',
type: 'GET',
dataType: "jsonp",
async: false,
success: function(json){
CoursecommunityList = '<option value="">'+App.languageDict.attributes.All+'</option>';
CoursecommunityList += '<option value="'+App.configuration.get('code')+'">'+App.configuration.get('name')+'</option>';
$.each(json.rows, function(rec, index) {
CoursecommunityList += '<option value="'+this.value.Code+'">'+this.value.Name+'</option>';
})
CoursecommunityList = '<select id="CommunitySelect">'+CoursecommunityList+'</select>';
$('.DropDownOptn').append(CoursecommunityList);
}
});
}
$('#creditsMainTable').append(CoursecommunityList);
$('#CommunitySelect').change(function(){
var selectedvalue = $('#CommunitySelect').val();
creditsView.addHeading();
var count=0;
var c1 = new App.Collections.membercourseprogresses();
c1.fetch({
async:false,
success: function (courseDocs) {
if(courseDocs.length>0){
var mem_list1=[]
var course_list1=[]
for(var i=0;i<courseDocs.length;i++) {
if(courseDocs.models[i].id != '_design/bell') {
mem_list1.push({"courseId": courseDocs.models[i].attributes.courseId, "MemberId" : courseDocs.models[i].attributes.memberId})
}
}
if(mem_list1.length > 0){
for(var i = 0 ; i < mem_list1.length; i++){
creditsView.courseId= mem_list1[i].courseId;
creditsView.mem_list1 = mem_list1[i];
}
//console.log(creditsView.courseId)
creditsView.randerTable(selectedvalue);
}
}
}
});
});
creditsView.addHeading();
var count=0;
var courses = new App.Collections.Courses();
var courses = new App.Collections.membercourseprogresses();
courses.fetch({
async:false,
success: function (courseDocs) {
if(courseDocs.length>0){
var mem_list=[]
var course_list=[]
for(var i=0;i<courseDocs.length;i++) {
if(courseDocs.models[i].get('_id') != '_design/bell') {
var doc = courseDocs.models[i];
var learnerIds = getCountOfLearners(doc.get('_id'), true);
console.log(learnerIds);
if(learnerIds.length>0){
creditsView.courseId=doc.get('_id');
creditsView.learnerIds = learnerIds;
creditsView.render();
}
if(courseDocs.models[i].id != '_design/bell') {
mem_list.push({"courseId": courseDocs.models[i].attributes.courseId, "MemberId" : courseDocs.models[i].attributes.memberId})
}
}
if(mem_list.length > 0){
for(var i = 0 ; i < mem_list.length; i++){
creditsView.courseId= mem_list[i].courseId;
creditsView.mem_list = mem_list;
}
creditsView.render();
}
}
}
});
Expand Down Expand Up @@ -522,7 +571,7 @@ $(function() {
{
if(learnerCollection.length > 0)
{
memberId = learnerCollection.models[0].get("_id");
memberId = learnerCollection[0].get("_id");
}
}
if(!memberId)
Expand All @@ -546,19 +595,18 @@ $(function() {
App.$el.children('.body').html('<div id="creditsTable" style = "margin-right:20px; margin-left:20px;"></div>');
var select = $("<select id='learnerSelector' onchange='getName($(this).val())'>");
var name, id;
learnerCollection.each(
function(member) {
var learnerName;
if(member.get('firstName') ) {
name = member.get('firstName')+ " " +member.get('lastName')
id = member.get('_id')
for(var i = 0; i < learnerCollection.length; i++){
var learnerName;
if(learnerCollection[i].get('firstName') ) {
name = learnerCollection[i].get('firstName')+ " " +learnerCollection[i].get('lastName')
id = learnerCollection[i].get('_id')

}
if(name ){
select.append("<option value="+id +"/"+courseId+">" +name+"</option>");
}
}

});
if(courseId && memberId){
select.val(memberId + '/' + courseId)
}
Expand Down Expand Up @@ -703,20 +751,26 @@ $(function() {
},

getLearnersList: function(courseId) {
var learnerIds = getCountOfAllLearnersOrIds(courseId, true);
var learnerModelIdes = ''
_.each(learnerIds, function(item) {
learnerModelIdes += '"' + item + '",';
})
if (learnerModelIdes != ''){
learnerModelIdes = learnerModelIdes.substring(0, learnerModelIdes.length - 1);
}
var membersColl = new App.Collections.Members();
membersColl.keys = encodeURI(learnerModelIdes)
membersColl.fetch({
async: false
});
return membersColl;
var mcp = new App.Collections.membercourseprogresses()
mcp.courseId = courseId
mcp.fetch({async:false});
if(mcp.length > 0){
var mem_list = []
for(var i=0;i<mcp.length;i++){
mem_list.push(mcp.models[i].attributes.memberId)
}
if(mem_list.length > 0){
var newmem_list = []
for(var i = 0; i < mem_list.length; i++){
var mem = new App.Models.Member({
_id: mem_list[i]
})
mem.fetch({async:false})
newmem_list.push(mem)
}
return newmem_list
}
}
},

showLearnersListForCredits: function (courseId) {
Expand Down Expand Up @@ -2391,17 +2445,8 @@ $(function() {
},

CourseStatistics: function (cId){
var course = new App.Models.Course();
course.id = cId
course.fetch({
async: false
})
var coursestatisticview = new App.Views.CoursesStatistics({
model:course,
attributes:{
courseid: cId
}
});
var coursestatisticview = new App.Views.CoursesStatistics();
coursestatisticview.courseId = cId;
coursestatisticview.render()
App.$el.children('.body').html('<div id="couarsestat"></div>');
$('#couarsestat').append('<div><h2>'+App.languageDict.attributes.Course_Progress_Statistics+'</h2></div>')
Expand Down
9 changes: 7 additions & 2 deletions app/MyApp/app/collections/membercourseprogresses.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ $(function() {


url: function() {
var url = App.Server + '/membercourseprogress/_design/bell/_view/GetMemberCourseResult?key=["' + this.memberId + '","' + this.courseId + '"]&include_docs=true'
return url
if(this.courseId && this.memberId)
var url = App.Server + '/membercourseprogress/_design/bell/_view/GetMemberCourseResult?key=["' + this.memberId + '","' + this.courseId + '"]&include_docs=true'
else if(this.courseId)
var url = App.Server + '/membercourseprogress/_design/bell/_view/GetMemberByCourseID?key="' + this.courseId + '"&include_docs=true'
else
return App.Server + '/membercourseprogress/_all_docs?include_docs=true'
return url
},


Expand Down
70 changes: 35 additions & 35 deletions app/MyApp/app/views/CoursesStatistics.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,44 +18,43 @@ $(function() {
var stepid = []
var totalerrors = []
var totalFailStatus = []
var pqattempts=[]

for(var i = 0; i <this.model.attributes.members.length; i++){
var statisticscourseProgress = new App.Collections.membercourseprogresses()
statisticscourseProgress.memberId = this.model.attributes.members[i];
statisticscourseProgress.courseId = this.attributes.courseid;
statisticscourseProgress.fetch({
async:false
});
memberStep = statisticscourseProgress.models[0].attributes.stepsIds
membersstatus = statisticscourseProgress.models[0].attributes.stepsStatus
var pqattempts = statisticscourseProgress.models[0].attributes.pqAttempts
var member = statisticscourseProgress.models[0].attributes.memberId
var failarr = []
var arr = 0
var arrtotalerrors = []
for (var k = 0; k < memberStep.length; k++)
{
var count = 0
for(var j = 1; j <= pqattempts[k]; j++){
if (membersstatus[k][j] == "0")
{
count++
var statisticscourseProgress = new App.Collections.membercourseprogresses()
statisticscourseProgress.courseId = this.courseId
statisticscourseProgress.fetch({
async:false,
})
if(statisticscourseProgress.length > 0){
for (var i = 0; i < statisticscourseProgress.length; i++){
statisticscourseProgress.memberId = statisticscourseProgress.models[i].attributes.memberId;
memberStep = statisticscourseProgress.models[0].attributes.stepsIds
membersstatus = statisticscourseProgress.models[0].attributes.stepsStatus
pqattempts = statisticscourseProgress.models[0].attributes.pqAttempts
var failarr = []
var arr = 0
var arrtotalerrors = []
for (var k = 0; k < memberStep.length; k++){
var count = 0
for (var j = 0; j <= pqattempts[k]; j++){
if(membersstatus[k][j] == "0"){
count++
}
}
arr = count + arr
failarr.push(count)
}
arr =count + arr
failarr.push(count)
totalerrors.push(arr)
totalFailStatus.push(failarr)
var members = new App.Models.Member({
_id: statisticscourseProgress.models[i].attributes.memberId
})
members.fetch({
async: false
})
memberName.push(members.toJSON().firstName + ' ' + members.toJSON().lastName)
}
totalerrors.push(arr)
totalFailStatus.push(failarr)
var members = new App.Models.Member({
_id: member
})
members.fetch({
async: false
});
memberName.push(members.toJSON().firstName + ' ' + members.toJSON().lastName)
}
for (var y = 0; y < memberStep.length; y++) {
for (var y = 0; y < memberStep.length; y++) {
var courseSteps = new App.Models.CourseStep()
courseSteps.id = memberStep[y];
courseSteps.fetch({
Expand All @@ -67,7 +66,7 @@ $(function() {
var totalMemberstepError = []
for (var q = 0; q < memberStep.length; q++) {
var total = 0
for (var p = 0; p< this.model.attributes.members.length; p++) {
for (var p = 0; p< members.attributes.length; p++) {
total = total + totalFailStatus[p][q]
}
totalMemberstepError.push(total)
Expand All @@ -81,6 +80,7 @@ $(function() {
this.vars.Totalerrors = totalerrors;
this.vars.TotalmemberSteperror = totalMemberstepError
this.$el.html(_.template(this.template,this.vars))
}
}
})
})
Loading

0 comments on commit 3d9165f

Please sign in to comment.