1. 23 Jul, 2014 2 commits
  2. 22 Jul, 2014 6 commits
  3. 17 Jul, 2014 6 commits
  4. 16 Jul, 2014 2 commits
    • Merge pull request #72 from Stanford-Online/sjang92/bulk_settings_rebase · 88839c8b
      Implemented Bulksettings page & Tests
      sjang92 committed
    • Implemented Bulksettings page & Tests · 85340312
      From Jane's Story:
      
      "Settings for problems are accessible via the problems themselves.  But
      viewing settings for all problems in a course is a non-trivial matter when
      there are a lot of them.  It would be convenient to be able to view all
      problem settings in a course without having to navigate to each problem."
      
      To implement this functionality, this commit adds a new utilities page entry
      in cms/envs/common.py, so that the link to the bulksettings page show up
      automatically.
      
      * New View
      This commit adds bulksettings.py cms/djangoapps/contentstore/views/utilities
      
      * Unit Tests
      This commit adds a unit test test_bulksettings.py which does:
      
          - empty course test
          - empty problems test
          - A single test
          - multiple tests
      
      Each test recursively creates a course hierarchy with random dataset.
      Se Won Jang committed
  5. 15 Jul, 2014 3 commits
    • Merge pull request #74 from Stanford-Online/sjang92/origin/enrollment-email · aac28d08
      Sjang92/origin/enrollment email
      sjang92 committed
    • Implemented Enrollment Email Feature · 496eff88
      There was a need to notify students via email upon enrolling in a course, since
      they were confused that they did not receive any confirmation of their course
      enrollments.
      
      Since the scope of this feature is pretty narrow (confined to course
      enrollments only), this commit does not focus on building a general
      email-notification system.
      
      ================ Changes to the Model =============
      
      This commit adds two new fields(booleans) to the Course model:
      
      	- enable_enrollment_email
      	- enable_default_enrollment_email
      
      that allows course administrators to enable / disable the enrollment emailing
      feature, and  upon enabling, decide whether they want to use the default
      enrollment email template.
      
      These new fields are linked to the CourseDetails object, so that course
      administrators can edit these two flag settings in the Settings -
      Schedule&Details Tab through a friendly UI.
      
      This commit also adds the following four new documents to CourseDetails:
      
      	- pre_enrollment_email
      	- pre_enrollment_email_subject
      	- post_enrollment_email
      	- post_enrollment_email_subject
      
      ================ Changes to the controller ===============
      
      This commit adds notify_enrollment_by_email function to:
      
      	- common/djangoapps/student/views.py
      
      and calls it from the change_enrollment controller that receives requests upon
      a student's clicking of the Registration button. It is called after enrolling
      the student to the course in the database.
      
      This function first checks to make sure that it's not in automated testing env,
      and that enable_enrollment_email field of the specified course is set to True.
      
      Then it checkes whether the enable_default_enrollment_email field is set to
      True or not, and handles the email message accordingly by either:
      
      	1) Pulling the default static enrollment_email template
      	2) Using the template specified by the Course Admin
      
      When using the configured template, it checks if the course has already started
      or not and appropriately chooses between pre_enrollment_email & subject and
      post_enrollment_email & subject.
      
      At the end of the function, it returns a json object specifying whether the
      emailing was successful or not, so that the students are notified of the
      error, and for unit testing.
      
      ================ Changes to the view (frontend ) =========
      
      This commit applies a few changes to the front-end javascript:
      
      	- cms/static/js/views/settings/main.js
      
      so that upon receiving a modified CourseDetail Object via ajax,
      the template gets updated appropriately, and also so that it
      makes put ajax requests back to the server when the Course Admin applies
      changes to enrollment email settings.
      
      ================ Unit Tests ============================
      
      The written unit tests are very basic, and is done by checking the json
      response object returned by the notify_enrollment_by_email method.
      
      ========================================================
      
      bugfix: line 69 & 75 in course_details.py. course->course_details
      
      added update_user_by_email to CourseEnrollment Model. Still implementing
      
      fixed a few indentation errors with vim
      
      pushing enrollment email functionality from model to the view
      
      added email boolean to course_details, modified courseware/courses.py to be able to throw pre & post_enrollment_email attributes
      
      course enrollment email functionality implemented. TODO: What to put as the from_address / subject. + access enable_enrollment_email column in the CourseDetails Object
      
      changed datetime calculation method to use given function from CourseDescriptor Objectw
      
      added enable_enrollment_email field to the course descriptor & course details. Changing the frontend to store the value.
      
      fixed frontend to send appropriate ajax calls. Not being saved correctly tho...
      
      added settings option to the enable_enrollment_email in course_module.py. editted course_details to turn dirty flag to true upon receiving enable_enrollment_email edit flag
      
      got rid of comments
      
      cleaned up modules, ran module tests & passed all
      
      adding feature: use default enrollment emails. Changed front-end. TODO: add fields to course & course details models
      
      implemented default course enrollment notification settings & views
      
      writing unit_tests
      
      finished writing up unit tests for enrollment_emails
      
      applied some changes to thes test_email
      
      fixing with Joe's styling guide :)
      
      changed url managing from hardcoding to reverse()
      
      views changed..?
      
      fetched from upstream master
      
      passing all tests
      
      applying sef's PR comment to break lines at courses.py
      
      removed println
      
      remove indentation errors
      
      Conflicts:
      	AUTHORS
      
      re-run jenkins
      Se Won Jang committed
    • frontend portion of enrollment emails · f67faa7c
      Ali committed
  6. 14 Jul, 2014 2 commits
  7. 11 Jul, 2014 5 commits
  8. 10 Jul, 2014 1 commit
  9. 09 Jul, 2014 3 commits
  10. 08 Jul, 2014 7 commits
  11. 07 Jul, 2014 1 commit
  12. 03 Jul, 2014 2 commits