Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
aedb570
make edit link use static_asset_path in xmodule_modifiers.py
ichuang Aug 28, 2013
62e113e
Merge branch 'master' of github.com:edx/edx-platform into bugfix/ichu…
ichuang Oct 8, 2013
9774348
lms namespace removed
ichuang Oct 16, 2013
d0d18f8
module -> block in common/djangoapps/xmodule_modifiers.py
ichuang Oct 16, 2013
757ce61
Merge branch 'master' of github.com:edx/edx-platform into bugfix/ichu…
ichuang Oct 17, 2013
5fdfc60
Change video transcripts to use locators instead of locations.
Nov 26, 2013
8a18074
Fix LTI max_score method.
polesye Dec 3, 2013
2088a21
Add min value.
polesye Dec 3, 2013
932d13e
Make has_score to be XField insted of decriptor property.
auraz Dec 3, 2013
1cd9325
Fix LTI tests.
auraz Dec 3, 2013
c62abed
Merge branch 'release'
Dec 3, 2013
599bdbb
Show full diffs in ResponseType tests.
Dec 3, 2013
149c3fd
Make runone work with more test output.
Dec 3, 2013
8eff442
mitxmako => edxmako
singingwolfboy Dec 2, 2013
f10df35
Add basic tests of gradeset iteration.
Dec 2, 2013
8423552
Merge pull request #1816 from edx/ormsbee/grading_tests
Dec 3, 2013
e872c4f
Merge pull request #1824 from edx/ned/show-full-diff-in-responsetype-…
nedbat Dec 3, 2013
c812c55
fix typo in ORA template (ORA-136)
adampalay Dec 2, 2013
69899e2
Merge pull request #1823 from edx/db/mitxmako-edxmako
singingwolfboy Dec 3, 2013
f3f4af8
settings.MITX_FEATURES => settings.FEATURES
singingwolfboy Dec 2, 2013
79815ac
Fall back on MITX_FEATURES env variable if FEATURES isn't found
singingwolfboy Dec 3, 2013
0426e51
Encode header row (LMS-197)
sarina Dec 2, 2013
5dba3fb
Disable Peer Track Changes
zubair-arbi Dec 4, 2013
2682a14
Merge pull request #1790 from edx/christina/transcripts
Dec 4, 2013
d1f3e3a
Merge pull request #1827 from edx/db/remove-mitx-from-features
singingwolfboy Dec 4, 2013
6af8ece
mitx_markdown => edx_markdown
singingwolfboy Dec 2, 2013
89c2832
New Updated Studio Documentation
mhoeber Nov 27, 2013
29b49ce
Editorial updates
mhoeber Dec 2, 2013
7c7bfc6
adding images for ORA
mhoeber Dec 2, 2013
c495fdd
Continued Editorial work
mhoeber Dec 3, 2013
c63dbe8
Continued edits
mhoeber Dec 4, 2013
5347923
Merge pull request #1829 from zubair-arbi/zub/bugfix/std1008-disablep…
zubair-arbi Dec 4, 2013
d95b46d
Studio: adding back in links (and supporting styling) to ToS and Priv…
talbs Nov 26, 2013
1a585a8
Merge pull request #1833 from edx/db/mitx_markdown-edx_markdown
singingwolfboy Dec 4, 2013
b32f2bc
MITX_ROOT_URL => EDX_ROOT_URL
singingwolfboy Dec 2, 2013
e93e632
Merge pull request #1825 from edx/ned/make-runone-work-with-more-test…
nedbat Dec 4, 2013
7b82de5
Merge pull request #1835 from edx/documentation/new_studio_doc/12-04-13
mhoeber Dec 4, 2013
1f056c3
Merge pull request #1777 from edx/talbs/studio-fix-tos
talbs Dec 4, 2013
f06f333
Added developer-specific settings to devstack
Dec 4, 2013
bbcd8af
Merge pull request #1839 from edx/db/mitx-root-url
singingwolfboy Dec 4, 2013
e26fc08
Update logging.getLogger() calls to use edx instead of mitx
singingwolfboy Dec 2, 2013
6baf195
Removed unused rake tasks
singingwolfboy Dec 4, 2013
b33bb1a
Merge pull request #1848 from edx/db/remove-deploy-rake
singingwolfboy Dec 4, 2013
beda1f8
Merge pull request #1846 from edx/db/update-logging
singingwolfboy Dec 4, 2013
b4f82b3
BLD-438: Fix clear and download buttons.
polesye Dec 1, 2013
68e1985
Merge pull request #1807 from edx/anton/transcripts
polesye Dec 5, 2013
bceadd4
Merge pull request #1819 from edx/anton/fix-lti-scores
auraz Dec 5, 2013
a040f3f
Merge pull request #1845 from edx/flowerhack/update-devstack-settings
Dec 5, 2013
2c2c238
Merge pull request #1817 from edx/sarina/lms-197
sarina Dec 5, 2013
f7d86bf
Merge pull request #1814 from edx/adam/fix-ora-typo
adampalay Dec 5, 2013
88610cb
Change forum role granted to staff on enrollment
Dec 4, 2013
0d34903
Refactor textbooks to use locator URLs
singingwolfboy Nov 25, 2013
06f4001
Use window.course instead of window.section
singingwolfboy Dec 5, 2013
3853c92
Merge pull request #1850 from edx/gprice/change-staff-forum-role
Dec 5, 2013
c931982
Pass PDF textbooks to template separately
singingwolfboy Dec 5, 2013
d8103d4
course.save() is no longer necessary
singingwolfboy Dec 5, 2013
7e15b10
update npm package name to edx
singingwolfboy Dec 2, 2013
e0fe8bc
Removed extra trailing slash from STATIC_URL in devstack
Nov 23, 2013
03d7d0e
more i18n work
singingwolfboy Nov 26, 2013
e8196d9
Events for entering verified flow & buying
Nov 19, 2013
cc187a3
Added refund datetime info to Orders, OrderItems
Nov 25, 2013
f880bcb
Response to CR
Nov 26, 2013
8c612ba
Quick fix
Nov 26, 2013
83f42f5
Response to CR
Nov 26, 2013
2b7587d
Added alternate upsell copy flag
Dec 4, 2013
09befd2
Merge pull request #1757 from edx/will/static-url-double-slash
Dec 5, 2013
1cbc171
Merge master in prep for merging back the hotfix changes.
Dec 5, 2013
d15391f
Update factory_boy to 2.2.1
singingwolfboy Dec 5, 2013
2bc156c
Merge pull request #1865 from edx/ned/merge-hotfix-2013-12-04-to-master
nedbat Dec 5, 2013
7a4204b
SplitMongo publish method
Dec 2, 2013
43789a9
Fixed test to ensure deletion on publish
Dec 4, 2013
effee03
Merge pull request #1867 from edx/db/update-factory-boy
singingwolfboy Dec 5, 2013
f747c76
Merge pull request #1772 from edx/db/locator-refactor-textbooks
singingwolfboy Dec 5, 2013
39f4cb8
Merge pull request #1832 from edx/dhm/publish
dmitchell Dec 5, 2013
5bf2f4b
New release notes project
mhoeber Dec 5, 2013
94b8f11
test
srpearce Dec 6, 2013
faf5af1
New Release Notes
mhoeber Dec 6, 2013
b5691cd
Upgrade pymongo usage from deprecated connection to client
Dec 6, 2013
5aa1b23
Added segment.io tracking
Dec 5, 2013
2666b96
Change mitx.db to edx.db for dev sqlite
singingwolfboy Dec 6, 2013
1134b88
update LocMemCache location to use edx instead of mitx
singingwolfboy Dec 6, 2013
c436c6a
Merge pull request #1879 from edx/db/mitx-edx-sqlite
singingwolfboy Dec 6, 2013
03c8c0e
Merge pull request #1880 from edx/db/mitx-edx-locmem
singingwolfboy Dec 6, 2013
bbeded7
On export error, handle quotes within string.
Dec 5, 2013
11b635c
import GlobalStaff to legacy.py (LMS-1599)
adampalay Dec 6, 2013
95c8624
Merge pull request #1869 from edx/christina/export-error
Dec 6, 2013
cb5afe9
ORA documentation updates
srpearce Dec 6, 2013
fa1acae
Disabled AJAX Errors Course Overview JS test
Dec 6, 2013
8f990a0
Merge pull request #1881 from edx/adam/fix/instr-dash-500
adampalay Dec 6, 2013
b5eeef0
Activate Markdown editor buttons on keypress
Dec 6, 2013
298e7a2
Shorten collection name to keep index name w/in limit
Dec 6, 2013
f7ffc1d
Merge pull request #1884 from edx/will/disable-js-course-overview-test
Dec 6, 2013
0684f6a
Merge pull request #1878 from edx/dhm/pymongo_client
dmitchell Dec 6, 2013
62035c0
rn for 12/9/13
mhoeber Dec 6, 2013
3b9cd02
response to cr
Dec 6, 2013
bb1945b
Release notes for 12-9-2013
mhoeber Dec 8, 2013
9072b9c
e-reader error when popping out window
Dec 5, 2013
3730eb3
Merge pull request #1856 from edx/valera/fix_e_reader_error_new_page
valera-rozuvan Dec 9, 2013
cec58f8
Remove forum user profile moderator toggle button
Dec 6, 2013
3f6997e
Merge pull request #1892 from edx/sylvia/documentation/test
mhoeber Dec 9, 2013
c328dae
Edit changes
mhoeber Dec 9, 2013
12a771e
Remove extraneous refund text
dianakhuang Dec 9, 2013
63a4811
Merge pull request #1895 from edx/release-notes/12-9-13
mhoeber Dec 9, 2013
b784979
Merge pull request #1792 from edx/man2life-i18n-no-forums
singingwolfboy Dec 9, 2013
7196cf2
BLD-479: Add additional example of DnD.
polesye Dec 5, 2013
724cc02
Merge pull request #1847 from edx/db/update-npm-package
singingwolfboy Dec 9, 2013
d94361b
Remove protocol in Studio’s font URLs
tusbar Dec 9, 2013
42040fb
Remove protocol in Tiny MCE’s font URLs
tusbar Dec 9, 2013
0cbeb10
Add myself to author file
tusbar Dec 9, 2013
0d3d758
Merge pull request #1855 from edx/anton/add-dnd-template
polesye Dec 9, 2013
5e718f9
Created "MathJax in Studio" page
srpearce Dec 9, 2013
b60d060
Remove old READMEs
singingwolfboy Dec 9, 2013
e032b4b
Merge pull request #1897 from edx/db/remove-old-readmes
singingwolfboy Dec 9, 2013
75bf35a
Adding wiki data file to data formats doc
mhoeber Dec 9, 2013
bc23a6d
editing wiki data
mhoeber Dec 9, 2013
1ee6d15
Merge pull request #1894 from edx/diana/remove-extraneous-text
dianakhuang Dec 9, 2013
137c54b
Add debug logging of exceptions that happen during rending of studio_…
cpennington Dec 5, 2013
c547ac7
Fix bulk email acceptance test
sarina Nov 25, 2013
b406ba0
Acceptance tests for grades download
sarina Nov 25, 2013
874d7a0
Fix LTI acceptance tests
sarina Dec 9, 2013
461b473
Merge pull request #1776 from edx/sarina/inst-dash-acceptance
sarina Dec 9, 2013
8374989
Add underscore to staff grading template
Dec 9, 2013
9b4b3df
Merge pull request #1903 from edx/will/fix-underscore-staff-grading
Dec 10, 2013
41602e6
Merge pull request #1898 from edx/sylvia/documentation/bld-552
mhoeber Dec 10, 2013
8f9f3bb
Merge pull request #1883 from edx/gprice/markdown-button-keypress
Dec 10, 2013
c841645
Merge pull request #1882 from edx/gprice/remove-moderator-toggle
Dec 10, 2013
ad9da03
Added user_id_map
mhoeber Dec 10, 2013
28f2239
whitespace-only changes
singingwolfboy Dec 10, 2013
b99f991
ORA-237: Number in "Available for Grading" column drops rapidly
srpearce Dec 10, 2013
153b756
Merge pull request #1908 from edx/sylvia/documentation/ora-237
mhoeber Dec 10, 2013
541ee6e
Merge pull request #1857 from cpennington/studio-better-xblock-logging
cpennington Dec 10, 2013
d937da8
Update handler_url support to match the latest in the xblock repo, fo…
cpennington Nov 18, 2013
9e7ccd8
Run tests in lms/lib
cpennington Dec 6, 2013
4d6c8cc
Disable failing JS tests
Dec 10, 2013
bc7b0ef
Merge pull request #1909 from edx/will/disable-more-js-tests
Dec 10, 2013
fb13bed
Updating comments and docs for MITx -> edX transition
singingwolfboy Dec 10, 2013
5b5fa7c
response to cr
Dec 10, 2013
2f9380c
response to cr
Dec 10, 2013
80fd12b
Merge pull request #1692 from cpennington/pure-xblock-handler-urls
cpennington Dec 10, 2013
2bc4198
Merge pull request #1853 from edx/db/update-comments
singingwolfboy Dec 10, 2013
421f025
Merge pull request #1744 from edx/flowerhack/feature/verified-cert-ev…
Dec 10, 2013
7c4a26a
New Accessibility Chapter
mhoeber Dec 10, 2013
d5bff2e
Merge pull request #814 from edx/bugfix/ichuang/make-edit-link-use-st…
Dec 10, 2013
b065f7f
Draft of LTI documentation
srpearce Dec 10, 2013
484602a
Adds redirects for login pages and the registration page so that
carsongee Dec 10, 2013
2e87b1a
BLD-543: Fix bug with reordering in Studio.
polesye Dec 9, 2013
39e9722
Fix tests.
polesye Dec 9, 2013
e5f5832
Address comments.
polesye Dec 11, 2013
3827697
Fix author name.
polesye Dec 11, 2013
418d6fa
BLD-413: Add rounding of coordinates.
polesye Dec 11, 2013
79519b7
Address comments.
polesye Dec 11, 2013
d1cb40d
Merge pull request #1915 from edx/anton/fix-author-name
singingwolfboy Dec 11, 2013
2ea1663
Fix comment.
polesye Dec 11, 2013
f69311f
Accessibilty updates
mhoeber Dec 11, 2013
ec55d8c
Create explicit Locations.
Dec 10, 2013
4e641b9
Add default email settings
tusbar Dec 11, 2013
f576673
Add email configuration to cms/envs/aws.py
tusbar Dec 11, 2013
d31268e
Minor changes by Valera.
Dec 11, 2013
48fcaeb
Accessibility edits
mhoeber Dec 11, 2013
6b9a3e2
Merge pull request #1913 from carsongee/cg/ssl_auth_enhancements
Dec 11, 2013
7be524d
Removing duplicated initialization code.
Dec 11, 2013
ce44ff8
Merge pull request #1920 from edx/markhoeber/documentation/stud-1007
srpearce Dec 11, 2013
8fcc9ec
Draft of LTI documentation
srpearce Dec 11, 2013
258802e
Merge pull request #1922 from edx/e0d/remove-pre-wsgi-init
Dec 11, 2013
81bc661
Turn off AUTH_USE_MIT_CERTIFICATES
singingwolfboy Dec 11, 2013
82d7da8
Fix missing _ import.
Dec 11, 2013
0b16199
Revert "Fix missing _ import."
Dec 11, 2013
249aa8e
Fix missing _ import.
Dec 11, 2013
cc31b5c
Fix another unbound underscore
singingwolfboy Dec 11, 2013
a79d79a
Merge pull request #1891 from edx/anton/fix-lti-dnd
polesye Dec 12, 2013
5eb0292
Merge pull request #1917 from edx/anton/fix-imageresponse-in-ie
polesye Dec 12, 2013
74b3a8a
Merge pull request #1924 from edx/db/turn-off-mit-auth
singingwolfboy Dec 12, 2013
e868759
fix external_auth @ssl_login_shortcut decorator to properly use retfun
ichuang Aug 12, 2013
246fc03
add missing retfun
ichuang Sep 5, 2013
07e235a
remove @cache_if_anonymous
ichuang Oct 8, 2013
caf44c3
Added full test coverage for ssl login decorator
carsongee Dec 5, 2013
50e2e83
Added comment as requested
carsongee Dec 10, 2013
4c84240
Add ignore patterns for staticfiles to avoid processing symlink dirs
Dec 12, 2013
455a327
Merge pull request #1925 from edx/christina/underscore
Dec 12, 2013
93b0357
Replaced retfun in ssl_login so that it properly redirect to dashboard
carsongee Dec 12, 2013
8261f2b
Merge pull request #1862 from carsongee/bugfix/mitx/external_auth-retfun
carsongee Dec 12, 2013
cec7936
Add additional check signin to make sure an SSL certificate is passed
carsongee Dec 12, 2013
f932de1
Update CONTRIBUTING.md to be more comprehensive
sarina Dec 11, 2013
c1b8472
Merge pull request #1930 from carsongee/cg/ssl-check-header
carsongee Dec 12, 2013
df09e99
Create explicit Locations.
Dec 12, 2013
0931e5f
Mention " vs. ' syntax in help text
nparlante Dec 12, 2013
05dac89
Glossary revisions
srpearce Dec 12, 2013
9aa2e2a
Fixing conflicts
mhoeber Dec 12, 2013
8e67645
Merge pull request #1919 from tusbar/studio-email-config
sarina Dec 12, 2013
6dc9839
Merge pull request #1939 from edx/nick/no-apostrophe
nparlante Dec 12, 2013
64ec4e0
Merge pull request #1923 from edx/sarina/update-contributing-docs
sarina Dec 12, 2013
c401785
LTI revisions
srpearce Dec 12, 2013
0057f46
Return the full name of the student as part of the OpenId response.
dianakhuang Dec 12, 2013
8ffe169
fixing header
mhoeber Dec 13, 2013
39fddd1
Merge pull request #1943 from edx/markhoeber/documentation/glossary
mhoeber Dec 13, 2013
49b6b9c
added glossary to index
mhoeber Dec 13, 2013
560347d
Merge pull request #1944 from edx/markhoeber/documentation/add-glossa…
mhoeber Dec 13, 2013
41dfa3e
Cache anonymous user id on the user object, so that queries aren't ma…
cpennington Dec 13, 2013
bcd753c
Merge pull request #1945 from cpennington/cache-anonymous-student-id
cpennington Dec 13, 2013
68b7508
Clean up test conditions.
dianakhuang Dec 13, 2013
dc2dbc3
added anonymous id template info to html component
mhoeber Dec 13, 2013
3d366eb
Merge pull request #1950 from edx/markhoeber/documentation/stud-1017
mhoeber Dec 13, 2013
6952aec
Merge pull request #1941 from edx/diana/openid-fullname
dianakhuang Dec 13, 2013
ddff90c
Fix auth email configuration
tusbar Dec 13, 2013
e326fd1
Merge pull request #1952 from tusbar/fix-auth-email-conf
feanil Dec 13, 2013
258d322
Merge pull request #1938 from edx/christina/common-location
Dec 13, 2013
17b5c21
Merge pull request #1910 from edx/christina/locations
Dec 13, 2013
b2fee69
Fix acceptance test to wait for text area to be populated
sarina Dec 13, 2013
f4beb8b
Reduce sql queries for groupname tests.
Dec 9, 2013
3bd76f9
Use mongo indices for all queries
Dec 10, 2013
3d2ad59
Merge pull request #1907 from edx/db/whitespace-fixes
singingwolfboy Dec 13, 2013
bd04ab5
Merge pull request #1953 from edx/sarina/bugfix-instdash-acceptance
sarina Dec 13, 2013
540256b
Merge pull request #1889 from tusbar/studio-https-fonts
singingwolfboy Dec 13, 2013
ccc8733
Add sysadmin dashboard
carsongee Dec 13, 2013
179a1dd
Revert "Merge pull request #1889 from tusbar/studio-https-fonts"
singingwolfboy Dec 16, 2013
807843d
Merge pull request #1959 from edx/db/revert-tusbar-merge
singingwolfboy Dec 16, 2013
f4e95c6
Fix typo in peer grading messages.
Dec 16, 2013
f1028a3
Merge pull request #1958 from edx/sanchez/peer-grading-typo
Dec 16, 2013
a00335e
Merge pull request #1942 from carsongee/feature/mitx/sysadmin-dashboard
carsongee Dec 16, 2013
3f420e3
loc_mapper memoize all translations
Dec 12, 2013
7bf6890
Merge pull request #1935 from edx/will/ignore-symlink-staticfiles
Dec 16, 2013
f6de4f2
Location map uses a separate cache and defaults to general
Dec 16, 2013
9ad7a1c
Document performance optimization and auth generality changes.
Dec 16, 2013
3cf7519
Merge pull request #1954 from edx/dhm/loc_mapper_memoize
dmitchell Dec 16, 2013
d52b959
fixing merge conflicts
Dec 16, 2013
132313c
Update version of django-staticfiles library
singingwolfboy Dec 16, 2013
319091a
Merge pull request #1966 from edx/db/update-staticfiles-commit
singingwolfboy Dec 16, 2013
4de51c8
Merge pull request #1960 from edx/e0d/release-merge
Dec 16, 2013
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ James Tauber <jtauber@jtauber.com>
Greg Price <gprice@edx.org>
Joe Blaylock <jrbl@stanford.edu>
Sef Kloninger <sef@kloninger.com>
Anto Stupak <s2pak.anton@gmail.com>
Anton Stupak <s2pak.anton@gmail.com>
David Adams <dcadams@stanford.edu>
Steve Strassmann <straz@edx.org>
Giulio Gratta <giulio@giuliogratta.com>
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected.

Blades: Fix bug when Image mapping problems are not working for students in IE. BLD-413.

Blades: Add template that displays the most up-to-date features of
drag-and-drop. BLD-479.

Blades: LTI additional Python tests. LTI fix bug e-reader error when popping
out window. BLD-465.

Common: Switch from mitx.db to edx.db for sqlite databases. This will effectively
reset state for local instances of the code, unless you manually rename your
mitx.db file to edx.db.

Common: significant performance improvement for authorization checks and location translations.
Ensure all auth checks, check all possible permutations of the auth key (Instructor dashboard
now shows when it should for all courses in lms).
Made queries for Studio dashboard 2 orders of magnitude faster (and fewer).

Blades: Video Transcripts: Fix clear and download buttons. BLD-438.

Common: Switch over from MITX_FEATURES to just FEATURES. To override items in
the FEATURES dict, the environment variable you must set to do so is also
now called FEATURES instead of MITX_FEATURES.

LMS: Change the forum role granted to global staff on enrollment in a
course. Previously, staff were given the Moderator role; now, they are
given the Student role.

Blades: Fix Numerical input to support mathematical operations. BLD-525.

Blades: Improve calculator's tooltip accessibility. Add possibility to navigate
Expand Down
213 changes: 200 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,209 @@
Contributions are very welcome. The easiest way is to fork the repo and then
make a pull request from your fork. Before your pull request is merged, it will
be reviewed by at least one person. There may be feedback so expect comments on
the pull request. Add yourself to the AUTHORS file in your first pull request.
Contributing to edx-platform
============================

Please review:
Contributions to edx-platform are very welcome, and strongly encouraged! The
easiest way is to fork the repo and then make a pull request from your fork.
Read on for details on how to become a contributor, edx-platform code quality,
testing, making a pull request, and more.

* [Python Guidelines](https://github.com/edx/edx-platform/wiki/Python-Guidelines)
* [Javascript Guidelines](https://github.com/edx/edx-platform/wiki/Javascript-Guidelines)
* [Testing](https://github.com/edx/edx-platform/blob/master/docs/internal/testing.md)

Coding conventions should be followed and your commit should *increase* test
coverage, not decrease it. For more involved contributions, you may want to
discuss your intentions on the mailing list *before* you start coding.

Becoming a Contributor
---
Before your first pull request is merged, you'll need to sign the
[individual contributor agreement](http://code.edx.org/individual-contributor-agreement.pdf)
and send it in. This confirms you have the authority to contribute the code in
the pull request and ensures we can relicense it.

You should print out the agreement and sign it. Then scan (or photograph) the signed agreement
and email it to the email address indicated on the agreement. Alternatively, you're also free
to physically mail the agreement to the street address on the agreement. Once we have your
agreement in hand, we can begin merging your work.

You'll also need to add yourself to the `AUTHORS` file when you submit your first pull request.
You should add your full name as well as the email address associated with your Github account.
Please update `AUTHORS` in an individual commit, distinct from other changes in the pull request (it's OK for a pull request to contain multiple commits, including a commit to `AUTHORS`). Alternatively, you can open up a separate PR just to have your name added to the `AUTHORS` file, and link that PR to the PR with your changes.


Code Quality Guidelines
---
###Comments

We expect you to contribute code that is self-documenting as much as possible. This means
submitting code with well-formed variable, function, class, and method names; good docstrings;
lots of comments. Use your discretion - not every line needs to be commented. However, code
that is obtuse is hard to maintain and hard for others to build upon. So please do your best
to provide code that is easy to read and well-commented.

###Python/Javascript Styling

Before you submit your first pull request, please review the edx-platform code quality
and style guidelines:

* [Python Guidelines](https://github.com/edx/edx-platform/wiki/Python-Guidelines)
* [Javascript Guidelines](https://github.com/edx/edx-platform/wiki/Javascript-Guidelines)

Coding conventions should be followed. Your submission should not introduce any new
pep8 or pylint errors (and ideally, should fix up other errors you encounter in the
files you edit). From the edx-platform main directory, you can run the command

`$ rake quality`

to print the "Diff Quality" report, a report of the quality violations your branch has made.

Although we try to be vigilant and resolve all quality violations, some Pylint violations
are just too challenging to resolve, so we opt to ignore them via use of a
pragma. A pragma tells Pylint to ignore the violation in the given line. An example is:

`self.assertEquals(msg, form._errors['course_id'][0]) # pylint: disable=protected-access`

The pragma starts with a `#` two spaces after the end of the line. We prefer that you use
the full name of the error (`pylint: disable=unused-argument` as opposed to
`pylint: disable=W0613`), so it's more clear what you're disabling in the line.

If you have any questions, don't hesitate to reach out to us on email or IRC; see
the section on **Contacting Us**, below, for more.


Testing Coverage Guidelines
---

Before you submit a pull request, please refer to the [edx-platform testing documentation](https://github.com/edx/edx-platform/blob/master/docs/internal/testing.md).

Code you commit should *increase* test coverage, not decrease it. For more involved
contributions, you may want to discuss your intentions on the mailing list *before* you
start coding.

Running the command

`$ rake test`

in the edx-platform directory will run all the unit tests on edx-platform (to run specific
tests, refer to the testing documentation). Once you've run this command, you can run

`$ rake coverage`

to generate the "Diff Coverage" report. This report tells you how much of the Python and
JavaScript code you've changed is covered by unit tests. We aim for a coverage report score of
95% or higher. We also encourage you to write acceptance tests as your changes require. For
more in-depth help on various types of tests, please refer to the [edx-platform testing documentation](https://github.com/edx/edx-platform/blob/master/docs/internal/testing.md).



Opening Up A Pull Request
---

When you open up a pull request, please follow these guidelines:

* In the PR description, please be as clear as possible explaining what the change is. This helps us so much in contextualizing your PR and providing appropriate reviewers for you. Take a look at [#1322](https://github.com/edx/edx-platform/pull/1322) for an example of a verbose PR description for a new feature.

* As far as code goes, a first pass is to make sure that your code is of high quality. This means ensuring plenty of comments, as well as a 100% pass rate when you run `rake quality` locally. See the section **Code Quality Guidelines**.

* Testing coverage should be as complete as possible. 95% or greater on JavaScript and Python coverage (you can check this by running `rake test; rake coverage` locally). Percentage coverage is only calculated from unit tests, however. If you're adding new visual features, we love seeing acceptance tests as applicable. See the section **Testing Coverage Guidelines**.

* Be sure that your commit history is *clean* - that is, you don't have a ton of tiny commits with throwaway commit messages such as "Fix", "Arugh", "asdfjkl;", "Merge branch Master into fork", etc. Commit messages should be concise and explain what work was done. The first line should be fewer than 50 characters; you may add additional lines to your commit messages for further explaination.
* To clean up your commit history you'll need to perform an *interactive rebase* where you squash your commits together. More about interactive rebase can be found in the [github help documents](https://help.github.com/articles/interactive-rebase) or by Googling.
* The reasoning behind a clean commit history is that we want the log of all commits in edx-platform to be readable and self-documenting. This way, developers can take a look at all recent commits in the past few days or weeks and have a good understanding of all the code changes that were made.

* The `CHANGELOG` is a list of changes to the platform, distinct from the git log because the audience is not developers but rather users of our platform (specifically, course authors). Please make an entry in `CHANGELOG` describing your change if it is something that you think platform users would be interested in - eg a major bugfix, new feature, or update to existing functionality. Be sure to also indicate what system (LMS, CMS, etc) your change affects. If in doubt if your change is "big enough", we encourage you to make a `CHANGELOG` entry!

* Make sure that your branch is freshly rebased on master when you go to open your pull request. If you don't have repo permissions, you won't be able to see if your branch is able to be cleanly merged or not. We'll tell you if it's not; however, rebasing before you open your PR will help decrease the frequency of conflicts.

* If you need help with rebasing, please see the following resources:
1. [Git Book](http://git-scm.com/book/en/Git-Branching-Rebasing)
2. [Git Docs](http://git-scm.com/docs/git-rebase)
3. [Interactive Git tutorial](http://pcottle.github.io/learnGitBranching/) -- totally awesome!!
4. [Git Ready](http://gitready.com/intermediate/2009/01/31/intro-to-rebase.html)


Finally, **Please Do Not** close a pull request and open a new one to respond to review
comments. Keep the same pull request open, so it's clear how your code has been worked upon
and what reviewers have been involved in the conversation. Rebase as needed to get updated
code from master into your branch.

### Expectations We Have of You

By opening up a pull request, we expect the following things:

1. You've read and understand the instructions in this contributing file.
2. You are ready to engage with the edX community. Engaging means you will be prompt in following up with review comments and critiques. Do not open up a pull request right before a vacation or heavy workload that will render you unable to participate in the review process.
3. If you have questions, you will ask them by either commenting on the pull request or asking us in IRC or on the mailing list.
4. If you do not respond to comments on your pull request within 7 days, we will close it. You are welcome to re-open it when you are ready to engage.

### Expections You Have of Us

1. Within 48 hours of opening up a pull request, one of our open source community managers will triage it, either tagging other reviewers for the PR or asking follow up questions. (Please give us a little extra time if you open the PR on a late Friday EST evening! We may not get to it until the following Monday or Tuesday).
2. We promise to engage in an active dialogue with you from the time we begin reviewing until either the PR is merged (by an edX staff member), or we decide that, for whatever reason, it should be closed.
3. Once we have determined through visual review that your code is not malicious, we will run a Jenkins build on your branch.


### Using Jenkins Builds

When you open up a pull request, an edX staff member can decide to run a Jenkins build on your
branch. We will do this once we have determined that your code is not malicious.

When a Jenkins job is run, all unit, javascript, and acceptance tests are run.

**If the build fails...**

Click on the build to be brought to the build page. You'll see a matrix of blue and red dots;
the red dots indicate what section failing tests were present in. You can click on the test
name to be brought to an error trace that explains why the tests fail. Please address the
failing tests before requesting a new build on your branch. If the failures appear to not have
anything to do with your code, it may be the case that the master branch is failing. You can
ask your reviewers for advice in this scenario.

If the build says "Unstable" but passes all tests, you have introduced too many pep8 and pylint
violations. Please refer to the **Code Quality Guidelines** section and clean up the code.

**If the build passes...**

If all the tests pass, the "Diff Coverage" and "Diff Quality" reports are generated. Click on
the "View Reports" link on your pull request to be brought to the Jenkins report page. In a
column on the left side of the page are a few links, including "Diff Coverage Report" and "Diff
Quality Report". View each of these reports (making note that the Diff Quality report has two
tabs - one for pep8, and one for Pylint).

Make sure your quality coverage is 100% and your test coverage is at least 95%. Adjust your
code appropriately if these metrics are not high enough. Be sure to ask your reviewers for advice if you need it.



Contacting Us
---

### Mailing list

If you have any questions, please ask on the
[mailing list](https://groups.google.com/forum/#!forum/edx-code).
[mailing list](https://groups.google.com/forum/#!forum/edx-code). It's always a good idea to
first search through the archives, to see if any of your questions have already been asked and
answered.

The edx platform team is based in the US, so we're best able to respond to questions posted in
English. You're most likely to get an answer if you ask questions related to edx-platform code
or conventions. Questions only tangentially related to edx-platform may be better answered on
different forums or mailing lists (for example, asking for help on how to set up Git is better
posted on a Git related message list or forum).

Questions about translations, XBlock, creating courses, or using Studio are not appropriate for
the edx-code mailing list. We have a few other mailing lists you may be interested in:
* [openedx-translation](https://groups.google.com/forum/#!forum/openedx-translation)
* [edx-xblock](https://groups.google.com/forum/#!forum/edx-xblock)
* [openedx-studio](https://groups.google.com/forum/#!forum/openedx-studio)

### IRC

Many edX employees and community members hang out in the #edx-code [IRC channel](http://www.irchelp.org/irchelp/new2irc.html) on Freenode.
We're always happy to see more people hanging out with us there!

**Tips on Using IRC**

For clients, the [webchat](webchat.freenode.net) is easiest, because you don't need to install anything and it's cross-platform. [ChatZilla](http://chatzilla.hacksrus.com/) is almost as easy -- it's a Firefox extension, and works anywhere Firefox does. For an installed application, [Pidgin](http://pidgin.im) works decently (or [Adium](https://adium.im) on Mac), and has a familiar instant-messenger-style interface. For something truly dedicated to IRC, there's [mIRC](http://www.mirc.com) for Windows (free), [LimeChat](http://limechat.net/mac/) for Mac (free), or [Textual](http://www.codeux.com/textual/) for Mac (paid). There are also many other clients out there, but those are some good recommendations for people relatively new to IRC.

### Pull requests/issues

We do not make much use of github issues, so opening an issue on edx-platform is not the
best way to reach us. However, when you've opened up a pull request, please please don't
be shy about adding comments and having a robust conversation with your pull request reviewers.

Your pull request is a good place to ask pointed questions about the code you've written, and
we're very happy to have interaction with you through code, commits, and comments.
7 changes: 3 additions & 4 deletions cms/djangoapps/auth/authz.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,7 @@ def remove_user_from_course_group(caller, user, location, role):

# see if the user is actually in that role, if not then we don't have to do anything
groupnames, _ = get_all_course_role_groupnames(location, role)
for group in user.groups.filter(name__in=groupnames):
user.groups.remove(group)
user.groups.remove(*user.groups.filter(name__in=groupnames))
user.save()


Expand Down Expand Up @@ -258,11 +257,11 @@ def is_user_in_creator_group(user):
return True

# On edx, we only allow edX staff to create courses. This may be relaxed in the future.
if settings.MITX_FEATURES.get('DISABLE_COURSE_CREATION', False):
if settings.FEATURES.get('DISABLE_COURSE_CREATION', False):
return False

# Feature flag for using the creator group setting. Will be removed once the feature is complete.
if settings.MITX_FEATURES.get('ENABLE_CREATOR_GROUP', False):
if settings.FEATURES.get('ENABLE_CREATOR_GROUP', False):
return user.groups.filter(name=COURSE_CREATOR_GROUP_NAME).exists()

return True
Expand Down
Loading