tl-its-umich-edu / canvas-course-manager-next

Canvas Course Manager Next: A redesign of the existing CCM application. It extends Canvas features, makes cumbersome features easier to use, and adds new features.
8 stars 9 forks source link

let external users approve `terms_of_use` themselves? #291

Closed lsloan closed 2 years ago

lsloan commented 2 years ago

Problem

When the external user enrollment feature of the API was implemented, one of the keys sent to the Canvas API is "terms_of_use": true. Canvas seems to work if that value isn't specified, but at the time it seemed like it would be safer to specify it explicitly.

That resulted in the conversation…

Originally posted by @ssciolla in https://github.com/tl-its-umich-edu/canvas-course-manager-next/pull/247/#r773362559

I wish there was a way for folks to approve the Terms of Use themselves...

Originally posted by @lsloan in https://github.com/tl-its-umich-edu/canvas-course-manager-next/pull/247#r773424242

I think this will work without specifying the terms… key. I could remove it, if you prefer. I think I chose to use true here, because I read that's the default value Canvas users if it's not specified.

Solution

If it makes sense to do so, either remove the terms_of_use key from the request or explicitly set it to false, whichever will give the desired behavior.

It would be helpful to get @melindakraft's input on this.

ssciolla commented 2 years ago

@lsloan, can you determine whether the new user is prompted to accept terms of use in the cases where this is true and false? Melinda thinks it's preferable if the user has to accept the terms themselves.

jonespm commented 2 years ago

When I create a user through the regular UI it doesn't set this parameter at all, it's not required. I'm not seeing where the default is true.

This is the prompt the user ends up with, at least from the dev instance. This seems like what we'd want, and should be obtained either setting false or not setting. Unless our prod instance is configured differently from dev to not require anyone to accept terms. In that case false or not setting still seems the best we can do.

image

lsloan commented 2 years ago

Thanks for the feedback, @ssciolla and @jonespm. I didn't notice the difference when I tried it out. I'll not set that parameter and check again.

pushyamig commented 2 years ago

I don't see terms_of_use parameter set as part of API. test passes