Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
3ed2fcbb
Commit
3ed2fcbb
authored
Oct 10, 2013
by
cahrens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Parse floats to ints in CourseGrader model.
Fixes STUD-826.
parent
30dc4418
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
27 additions
and
8 deletions
+27
-8
cms/static/coffee/spec/main.coffee
+1
-0
cms/static/coffee/spec/models/settings_course_grader_spec.coffee
+20
-0
cms/static/js/models/settings/course_grader.js
+3
-3
cms/static/js/models/settings/course_grading_policy.js
+1
-1
cms/templates/edit_subsection.html
+1
-2
cms/templates/overview.html
+1
-2
No files found.
cms/static/coffee/spec/main.coffee
View file @
3ed2fcbb
...
...
@@ -141,6 +141,7 @@ define([
"coffee/spec/models/course_spec"
,
"coffee/spec/models/metadata_spec"
,
"coffee/spec/models/module_spec"
,
"coffee/spec/models/section_spec"
,
"coffee/spec/models/settings_course_grader_spec"
,
"coffee/spec/models/settings_grading_spec"
,
"coffee/spec/models/textbook_spec"
,
"coffee/spec/models/upload_spec"
,
...
...
cms/static/coffee/spec/models/settings_course_grader_spec.coffee
0 → 100644
View file @
3ed2fcbb
define
[
"js/models/settings/course_grader"
],
(
CourseGrader
)
->
describe
"CourseGraderModel"
,
->
describe
"parseWeight"
,
->
it
"converts a float to an integer"
,
->
model
=
new
CourseGrader
({
weight
:
7.0001
,
min_count
:
3.67
,
drop_count
:
1.88
},
{
parse
:
true
})
expect
(
model
.
get
(
'weight'
)).
toBe
(
7
)
expect
(
model
.
get
(
'min_count'
)).
toBe
(
3
)
expect
(
model
.
get
(
'drop_count'
)).
toBe
(
1
)
it
"converts a string to an integer"
,
->
model
=
new
CourseGrader
({
weight
:
'7.0001'
,
min_count
:
'3.67'
,
drop_count
:
'1.88'
},
{
parse
:
true
})
expect
(
model
.
get
(
'weight'
)).
toBe
(
7
)
expect
(
model
.
get
(
'min_count'
)).
toBe
(
3
)
expect
(
model
.
get
(
'drop_count'
)).
toBe
(
1
)
it
"does a no-op for integers"
,
->
model
=
new
CourseGrader
({
weight
:
7
,
min_count
:
3
,
drop_count
:
1
},
{
parse
:
true
})
expect
(
model
.
get
(
'weight'
)).
toBe
(
7
)
expect
(
model
.
get
(
'min_count'
)).
toBe
(
3
)
expect
(
model
.
get
(
'drop_count'
)).
toBe
(
1
)
cms/static/js/models/settings/course_grader.js
View file @
3ed2fcbb
...
...
@@ -10,13 +10,13 @@ var CourseGrader = Backbone.Model.extend({
},
parse
:
function
(
attrs
)
{
if
(
attrs
[
'weight'
])
{
if
(
!
_
.
isNumber
(
attrs
.
weight
))
attrs
.
weight
=
parseInt
(
attrs
.
weight
,
10
);
attrs
.
weight
=
parseInt
(
attrs
.
weight
,
10
);
}
if
(
attrs
[
'min_count'
])
{
if
(
!
_
.
isNumber
(
attrs
.
min_count
))
attrs
.
min_count
=
parseInt
(
attrs
.
min_count
,
10
);
attrs
.
min_count
=
parseInt
(
attrs
.
min_count
,
10
);
}
if
(
attrs
[
'drop_count'
])
{
if
(
!
_
.
isNumber
(
attrs
.
drop_count
))
attrs
.
drop_count
=
parseInt
(
attrs
.
drop_count
,
10
);
attrs
.
drop_count
=
parseInt
(
attrs
.
drop_count
,
10
);
}
return
attrs
;
},
...
...
cms/static/js/models/settings/course_grading_policy.js
View file @
3ed2fcbb
...
...
@@ -20,7 +20,7 @@ var CourseGradingPolicy = Backbone.Model.extend({
graderCollection
.
reset
(
attributes
.
graders
);
}
else
{
graderCollection
=
new
CourseGraderCollection
(
attributes
.
graders
);
graderCollection
=
new
CourseGraderCollection
(
attributes
.
graders
,
{
parse
:
true
}
);
graderCollection
.
course_location
=
attributes
[
'course_location'
]
||
this
.
get
(
'course_location'
);
}
attributes
.
graders
=
graderCollection
;
...
...
cms/templates/edit_subsection.html
View file @
3ed2fcbb
...
...
@@ -114,9 +114,8 @@ require(["domReady!", "jquery", "js/models/location", "js/views/overview_assignm
// I believe that current (New Section/New Subsection) cause full page reloads which means these aren't needed globally
// but we really should change that behavior.
if
(
!
window
.
graderTypes
)
{
window
.
graderTypes
=
new
CourseGraderCollection
();
window
.
graderTypes
=
new
CourseGraderCollection
(
$
{
course_graders
|
n
},
{
parse
:
true
}
);
window
.
graderTypes
.
course_location
=
new
Location
(
'${parent_location}'
);
window
.
graderTypes
.
reset
(
$
{
course_graders
|
n
});
}
$
(
".gradable-status"
).
each
(
function
(
index
,
ele
)
{
...
...
cms/templates/overview.html
View file @
3ed2fcbb
...
...
@@ -25,9 +25,8 @@ require(["domReady!", "jquery", "js/models/location", "js/models/section", "js/v
// I believe that current (New Section/New Subsection) cause full page reloads which means these aren't needed globally
// but we really should change that behavior.
if
(
!
window
.
graderTypes
)
{
window
.
graderTypes
=
new
CourseGraderCollection
();
window
.
graderTypes
=
new
CourseGraderCollection
(
$
{
course_graders
|
n
},
{
parse
:
true
}
);
window
.
graderTypes
.
course_location
=
new
Location
(
'${parent_location}'
);
window
.
graderTypes
.
reset
(
$
{
course_graders
|
n
});
}
$
(
".gradable-status"
).
each
(
function
(
index
,
ele
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment