1

I am trying to use the Moodle API (web services) to get information about (my) assignment submissions. I want to know whether I submitted an attempt for the assignment already or not. I am using the mod_assign_get_assignments function (which doesn't have too much documentation) and the results I get (when looking at the assignments portion of each course) are:

{
  "id": 25960,
  "cmid": 350053,
  "course": 8013502,
  "name": "\u05d4\u05d2\u05e9\u05ea \u05ea\u05e8\u05d2\u05d9\u05dc \u05d1\u05d9\u05ea 1",
  "nosubmissions": 0,
  "submissiondrafts": 0,
  "sendnotifications": 0,
  "sendlatenotifications": 0,
  "sendstudentnotifications": 0,
  "duedate": 1617566400,
  "allowsubmissionsfromdate": 0,
  "grade": 100,
  "timemodified": 1615897679,
  "completionsubmit": 1,
  "cutoffdate": 1617569940,
  "gradingduedate": 0,
  "teamsubmission": 0,
  "requireallteammemberssubmit": 0,
  "teamsubmissiongroupingid": 0,
  "blindmarking": 0,
  "hidegrader": 0,
  "revealidentities": 0,
  "attemptreopenmethod": "manual",
  "maxattempts": 1,
  "markingworkflow": 0,
  "markingallocation": 0,
  "requiresubmissionstatement": 0,
  "preventsubmissionnotingroup": 0
   ...irrelevant configuations
}

The above result is for an assignment I have already submitted.

An example of an assignment I did not submit is:

{
  "id": 19764,
  "cmid": 268225,
  "course": 8013201,
  "name": "\u05ea\u05d9\u05d1\u05ea \u05d4\u05d2\u05e9\u05d4 14",
  "nosubmissions": 0,
  "submissiondrafts": 0,
  "sendnotifications": 0,
  "sendlatenotifications": 0,
  "sendstudentnotifications": 0,
  "duedate": 1611693000,
  "allowsubmissionsfromdate": 0,
  "grade": 100,
  "timemodified": 1610972842,
  "completionsubmit": 0,
  "cutoffdate": 1611694860,
  "gradingduedate": 0,
  "teamsubmission": 0,
  "requireallteammemberssubmit": 0,
  "teamsubmissiongroupingid": 0,
  "blindmarking": 0,
  "hidegrader": 0,
  "revealidentities": 0,
  "attemptreopenmethod": "manual",
  "maxattempts": 1,
  "markingworkflow": 0,
  "markingallocation": 0,
  "requiresubmissionstatement": 0,
  "preventsubmissionnotingroup": 0
   ...irrelevant configuations
}

The only apparent difference between these (that might point to a way to check if I submitted it or not) is the completionsubmit property, but that cannot be the solution because a different assignment that I have submitted has it set to 0 (just like the one I didn't submit).

Does someone have an idea how I can solve this issue?

Thanks in Advance!

EDIT: mod_assign_get_submissions denies my access

{"assignments":[],"warnings":[{"item":"assignment","itemid":myitemname,"warningcode":"1","message":"No access rights in module context"}]}

I looked now into mod_assign_get_submission_status but it seems like it is only able to parse one assignment at a time, does anyone have a way to make this more efficient?

0

1 Answer 1

3
+25

You could try using mod_assign_get_submissions instead to retrieve submissions to assignments. Available since Moodle 2.5

References

Sample Response

{
    "assignments": [
        {
            "assignmentid": 14,
            "submissions": [
                {
                    "id": 7,
                    "userid": 3,
                    "attemptnumber": 0,
                    "timecreated": 1426865031,
                    "timemodified": 1426865062,
                    "status": "submitted",
                    "groupid": 0,
                    "plugins": [
                        {
                            "type": "onlinetext",
                            "name": "Online text",
                            "fileareas": [
                                {
                                    "area": "submissions_onlinetext"
                                }
                            ],
                            "editorfields": [
                                {
                                    "name": "onlinetext",
                                    "description": "Submission comments",
                                    "text": "<p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful.&nbsp;<br></p>",
                                    "format": 1
                                }
                            ]
                        },
                        {
                            "type": "file",
                            "name": "File submissions",
                            "fileareas": [
                                {
                                    "area": "submission_files",
                                    "files": [
                                        {
                                            "filepath": "APDFfile.pdf",
                                            "fileurl": "http://localhost/m/stable_master/webservice/pluginfile.php/247/assignsubmission_file/submission_files/12/somefile.pdf"
                                        },
                                        {
                                            "filepath": "anotherfile.docx",
                                            "fileurl": "http://localhost/m/stable_master/webservice/pluginfile.php/247/assignsubmission_file/submission_files/12/somefile.pdf"
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "type": "comments",
                            "name": "Submission comments"
                        }
                    ]
                },
                {
                    "id": 5,
                    "userid": 4,
                    "attemptnumber": 0,
                    "timecreated": 1426864693,
                    "timemodified": 1426864740,
                    "status": "draft",
                    "groupid": 0,
                    "plugins": [
                        {
                            "type": "onlinetext",
                            "name": "Online text",
                            "fileareas": [
                                {
                                    "area": "submissions_onlinetext",
                                    "files": [
                                        {
                                            "filepath": "/Arte esquemático-Cigüeña.png",
                                            "fileurl": "http://localhost/m/stable_master/webservice/pluginfile.php/245/assignsubmission_onlinetext/submissions_onlinetext/5/Arte%20esquem%C3%A1tico-Cig%C3%BCe%C3%B1a.png"
                                        }
                                    ]
                                }
                            ],
                            "editorfields": [
                                {
                                    "name": "onlinetext",
                                    "description": "Submission comments",
                                    "text": "<p>Blah Blah Blah lorem ipsum</p><p><br></p><p><b>Blah Blah Blah lorem ipsum</b><br></p><p><b><br></b></p><p><b><span style=\"font-weight: normal;\"><i>Blah Blah Blah lorem ipsum</i></span><br></b></p><p><b><span style=\"font-weight: normal;\"><i><br></i></span></b></p><p><b><span style=\"font-weight: normal;\"><i><img src=\"@@PLUGINFILE@@/Arte%20esquem%C3%A1tico-Cig%C3%BCe%C3%B1a.png\" alt=\"\" width=\"734\" height=\"844\" role=\"presentation\" style=\"vertical-align:text-bottom; margin: 0 .5em;\" class=\"img-responsive\"><br></i></span></b></p>",
                                    "format": 1
                                }
                            ]
                        },
                        {
                            "type": "file",
                            "name": "File submissions",
                            "fileareas": [
                                {
                                    "area": "submission_files",
                                    "files": [
                                        {
                                            "filepath": "somefile.pdf",
                                            "fileurl": "http://localhost/m/stable_master/webservice/pluginfile.php/247/assignsubmission_file/submission_files/12/somefile.pdf"
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "type": "comments",
                            "name": "Submission comments"
                        }
                    ]
                }
            ]
        }
    ],
    "warnings": []
}
1
  • Thanks for the response, I tried your method, see my edited question for further details :)
    – N. Rak
    Commented Apr 4, 2021 at 18:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.