Code Issue with Sub - Account Terms
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm having a little trouble running some 3rd party grade pull code on our system and getting this error:
C:/Ruby23-x64/lib/ruby/gems/2.3.0/bundler/gems/canvas-api-2e114163f7af/lib/canvas-api.rb:119:in `retrieve_response': Terms only belong to root_accounts. (Canvas::ApiError)
From what I can tell (I'm not terribly experienced with this sort of thing), it seems to be having an issue with a Sub - Account that we created for our Athletics department. We have all of those courses assigned to their own year - round term. My workaround was to remove the Sub - Account entirely, but that is not optimal, as we would like to use Sub - Accounts in Canvas.
Here is the relevant piece of code:
def get_current_enrollment_term_ids(account_id)
enrollment_terms = @canvas.get("/api/v1/accounts/#{@account_id}/terms")['enrollment_terms']
sorted_terms = enrollment_terms.select{|term| term['start_at'] != nil && (Date.today - Date.parse(term['start_at'])) > 30 }.sort_by!{|term| Date.parse(term['start_at'])}
current_term_id = sorted_terms.select{|term| !term['name'].include?('Full Year')}.last['id']
current_year_term_id = sorted_terms.select{|term| term['name'].include?('Full Year')}.last['id']
[current_year_term_id, current_term_id]
end
I'm thinking perhaps we can't assign Terms to Sub - Accounts? Does anyone do anything like this? Any help or insight would be greatly appreciated.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.