Commit Graph

38 Commits

Author SHA1 Message Date
Sarina Canelake
e53b9c83d9 Use Django 1.4 @ensure_csrf_cookie method PLAT-664 2015-06-06 08:48:36 -04:00
louyihua
0d0d1a0ccd Ignore pylint error 7610 (translation-of-non-string) on where it is intended to do
As some i18n features need ```ugettext``` or its shorcut ```_``` to be called on a non-string-literal, so the pylint check of ```translation-of-non-string``` should be explicitly disabled in such situations.
2015-04-03 11:59:53 +08:00
stv
405f03a6e9 Remove superfluous empty string check
Since we began monkey-patching `django.utils.translation` [1], we no
longer need to check for empty strings before translating them.
Previously, the empty string would be translated into translation
metadata. Now, translating the empty string intuitively yields the empty
string.

[1] 86633df3db
2015-02-10 09:47:48 -08:00
Brandon DeRosier
046e295322 Change has_course_access definition and doc string
- has_course_access renamed to has_course_author_access for clarity
- Changed doc string to clearly state that it determines whether or not
  a user has write access to a course
2014-12-02 22:08:58 -05:00
Brandon DeRosier
bdc64a7c70 Moved has_course_access from CMS to student.auth (common) 2014-12-02 19:36:38 -05:00
stv
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
stv
3fdfdbcd2b Translate string iff non-empty
This resolves an issue where a checklist's long_description being empty
caused gettext to dump PO file headers.

I had originally made this change to the Stanford-Online/edx-platform
repository a few weeks ago [0] to address a failing test on our fork.
I didn't take the time to diagnose the root issue; I just fixed it for
the single case.

After stumbling across the issue elsewhere, @kluo <kevkluo@gmail.com>
followed through and tracked down the cause of the behavior. It turns
out that `gettext`, by default, translates the empty string into PO file
headers; this is apparently a feature, not a bug [1].

This behavior seems counterintuitive; for our use, it seems that
translating an empty string should simply return an empty string. We
already program defensively around this in platform code [2], but it'd be
convenient to resolve this with a centralized solution, instead of a
patchwork of fixes.

[0] 4b88f54aa658db952e899222ff5ede4a1c1beb18
[1] http://stackoverflow.com/questions/18459387/translation-of-empty-string-shows-po-header
[2] https://github.com/edx/edx-platform/blob/master/cms/djangoapps/contentstore/views/checklist.py#L140
2014-08-01 11:03:47 -07:00
Nimisha Asthagiri
a9213509c3 Enable Mixed Modulestore STUD-1540
Refactor get_parent_locations STUD-1663
2014-06-26 18:00:11 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Calen Pennington
29f7fe14fb Merge remote-tracking branch 'edx/master' into ok-merge-from-master 2014-05-23 10:05:56 -04:00
louyihua
34d2f051a4 i18n: Make checklists translatable
Now the description & action_text strings in checklists can be extracted and translated.
2014-05-22 22:15:45 +08:00
Calen Pennington
0d88379eeb Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit adds all of cms.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-07 12:56:43 -04:00
cahrens
fc1e8fae2e Remove unused imports. 2014-02-10 16:08:59 -05:00
Don Mitchell
b8ea7f3c43 update_item and other refactorings continued 2014-02-05 10:24:24 -05:00
Don Mitchell
c601b75675 MixedModulestore wraps most getters, update_item, delete_item
with code to translate between addressing schemes based on app
and persistence layer addressing scheme specification.

STUD-1206
2014-02-05 09:34:30 -05:00
Don Mitchell
3ebac80778 Replace authz fns with roles.py ones
STUD-1006
2014-01-14 17:04:44 -05:00
Don Mitchell
b7368ef69a Change course_id to package_id
on new Locators to make it clear that they have a different syntax
than Location.course_id altho they represent the same info.
2013-12-20 16:16:50 -05:00
Don Mitchell
b776590226 Rename BlockUsageLocator's block_id field from usage_id
usage_id implies self-sufficiency. The block_id is relative to its structure.
2013-12-17 12:15:32 -05:00
David Baumgold
8eff442752 mitxmako => edxmako 2013-12-03 14:15:09 -05:00
Don Mitchell
17864353a5 Restful course settings
STUD-946
STUD-947
2013-11-22 10:55:35 -05:00
cahrens
355ebd62e3 Convert course team management to new URL scheme.
Move RESTful URLs into our "done" section.
2013-10-24 14:01:24 -04:00
cahrens
ca5d0e8973 Do need context_course variable for segment io. 2013-10-22 11:34:15 -04:00
cahrens
a6faa163f3 Convert checklists to new URL scheme. 2013-10-22 11:34:05 -04:00
cahrens
ea26b19d0b pylint/pep8 cleanup. 2013-09-12 09:47:30 -04:00
cahrens
1184a97b0b Do not store expanded action URLs.
They are not portable. STUD-681.

Minor updates.
2013-09-12 09:47:30 -04:00
Julian Arni
3ed4198204 Contentstore views pylint fixes 2013-08-14 19:10:00 -04:00
David Baumgold
724ef2e1e5 Fixing test failures 2013-07-29 13:12:04 -04:00
David Baumgold
6a9074e185 Removed get_url_reverse function
It was causing unit tests to fail, and it's a needless bit of abstraction that
never should have existed in the first place.
2013-07-29 13:11:48 -04:00
Peter Fogg
d87dba9e04 Correctly persist checklist settings.
Incidentally, fixes an acceptance test (which would have caught this
bug) not running. Its step regex was "They are correctly selected
after I reload the page$", which happens to be matched by "I reload
the page$", another step definition. Lettuce seems to arbitrarily pick
between definitions if they both match a step, so it's good to ensure
that each step isn't a sub-regexes of another.
2013-07-22 15:10:59 -04:00
Don Mitchell
3722685e1a No longer persist XModule templates
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
2013-07-16 14:33:58 -04:00
David Baumgold
4bc109708f Use django-method-override module
Replacing the get_request_method function everywhere
2013-07-09 19:16:09 -04:00
David Baumgold
ef81556cc5 Use JsonResponse when it makes sense 2013-07-09 19:16:08 -04:00
Don Mitchell
ef9c299413 Work around XBlock limitations to force persistance of field mutation 2013-07-01 12:33:08 -04:00
Steve Strassmann
8bb6ad3689 relative imports 2013-05-13 11:31:56 -04:00
Steve Strassmann
979e3be174 fix pep8: imports and blank lines 2013-05-13 09:58:30 -04:00
Steve Strassmann
571a9af0c0 declared exports 2013-05-10 16:37:28 -04:00
Steve Strassmann
9350a2c067 refactoring views 2013-05-10 13:56:30 -04:00
Steve Strassmann
0bea50ede1 start refactoring views.py 2013-05-09 16:24:21 -04:00