Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-50132

New Web Service mod_choice_get_choices_by_courses

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.0
    • Component/s: Choice, Web Services
    • Labels:
    • Testing Instructions:
      Hide

      Note: Version numbers are bumped because a new web service is added into the Mobile app service and also in the module.

      1. Create a course with a teacher and a student.
      2. Create a couple of choice activities. Hide one of the activities.
      3. Enable "Mobile services": Plugins ► Web Services ► Mobile
      4. Create a Token for the teacher and the student:
        • Click on Site administration ► Plugins ► Web services ► Manage tokens
      5. Next, you can do a couple of CURL REST call simulating a WS client with the teacher and the student user .
        • You need to replace the wstoken and the URL of your moodle instance

          curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'wsfunction=mod_choice_get_choices_by_courses&wstoken=ffbe3a3002f235bf9d01fd9369e10b66' --compressed | python -m "json.tool"

      6. Confirm that
        • As student you only see the visible choice activity, and you see all the choice configuration settings except the one reserved for managers (like section, visible, groupmode)
        • As a teacher you see all the choice activities and all the settings
      7. You can also specify which courses to retrieve, (replace courseids..5 with a valid number in this request)

        curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'courseids%5B0%5D=5&wsfunction=mod_choice_get_choices_by_courses&wstoken=ffbe3a3002f235bf9d01fd9369e10b66' --compressed | python -m "json.tool"

      8. If you use a course id where you are not enrolled, you will receive a warning "No access rights in course context"
      Show
      Note: Version numbers are bumped because a new web service is added into the Mobile app service and also in the module. Create a course with a teacher and a student. Create a couple of choice activities. Hide one of the activities. Enable "Mobile services": Plugins ► Web Services ► Mobile Create a Token for the teacher and the student: Click on Site administration ► Plugins ► Web services ► Manage tokens Next, you can do a couple of CURL REST call simulating a WS client with the teacher and the student user . You need to replace the wstoken and the URL of your moodle instance curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'wsfunction=mod_choice_get_choices_by_courses&wstoken=ffbe3a3002f235bf9d01fd9369e10b66' --compressed | python -m "json.tool" Confirm that As student you only see the visible choice activity, and you see all the choice configuration settings except the one reserved for managers (like section, visible, groupmode) As a teacher you see all the choice activities and all the settings You can also specify which courses to retrieve, (replace courseids..5 with a valid number in this request) curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'courseids%5B0%5D=5&wsfunction=mod_choice_get_choices_by_courses&wstoken=ffbe3a3002f235bf9d01fd9369e10b66' --compressed | python -m "json.tool" If you use a course id where you are not enrolled, you will receive a warning "No access rights in course context"
    • Affected Branches:
      MOODLE_30_STABLE
    • Fixed Branches:
      MOODLE_30_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-50132-master

      Description

      Retrieve all choices available in a course

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                16/Nov/15