Commit graph

84037 commits

Author SHA1 Message Date
Damyon Wiese
fa78244d17 MDL-58220 oauth2: Fix unit tests and add more 2017-04-03 13:43:25 +08:00
Damyon Wiese
092304a3de MDL-58220 oauth2: Cibot fixes
Missing phpdocs.
2017-04-03 13:43:25 +08:00
Damyon Wiese
738c4a2a73 MDL-58220 oauth2: More help buttons
Add help for system account connections and discovery.
2017-04-03 13:43:25 +08:00
Damyon Wiese
c21a66e40a MDL-58220 auth_oauth2: Restrict logins to a set of domains
This is set on the issuer, so you can have different lists for each oauth2 provider.
2017-04-03 13:43:25 +08:00
Damyon Wiese
979d1f66dd MDL-58220 auth_oauth2: Fix new account creation
This was not allowing new accounts to be registered.
2017-04-03 13:41:19 +08:00
Damyon Wiese
eca128bf47 MDL-58220 oauth2: Global enable/disable for issuers. 2017-04-03 13:41:19 +08:00
Damyon Wiese
6e0d700de8 MDL-58220 assign: Only show write access to teachers
In filebrowser api - this is also used by repositories using controlled links.
2017-04-03 13:41:19 +08:00
Damyon Wiese
ffda3e395c MDL-58127 skydrive: Upgrades to new oauth2
Support for controlled links workflow.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
af28b22892 MDL-58219 googledocs: Use google file extensions
Only rename on export for download.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
72643dc688 MDL-58219 googledocs: Update to new model for controlledlinks
Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
141ee541ca MDL-58219 repository: Change how controlled links work
Files are copied to the system user as soon as they are uploaded. Write access is then controlled when
serving links to the file.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
72fd103add MDL-58219 cibot: Fixes
Fixes for cibot warnings.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
dece386586 MDL-58219 oauth2: Fix unit tests because we changed the model
We added 2 fields to the model and we needed to update the tests.

I also removed some error_log from the rest client (very useful while developing)

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
ec504d94f6 MDL-58219 googledocs: Fix upgrade script nesting
Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
3739559644 MDL-58219 workshop: Fix unit tests
The bug is caused by the new code to freeze the files in the fileareas when switching phases.

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
39f60f6c00 MDL-58219 googledocs: Use a cache
Speed up folder operations with a simple cache.

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
6da1c55ba8 MDL-58219 googledocs: Keep original name on copy
Also - only add writers to files that have been "claimed" (prevent_changes_to_external_files)

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
2fad141006 MDL-58219 oauth2: Fix token upgrade problem with incremental auth
Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
28dddbc129 MDL-58219 oauth2: Show connected system account info
Show the username and email of the connected system account (if it ever requires refreshing - this will help identity the account
to re-authorise).

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
1a1a09d8f8 MDL-58142 calendar: Add an obvious link to the help docs
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
5823a27e7e MDL-58131 googledocs: Add manage url -> drive
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
5ffaf17dad MDL-58168 oauth2: Check for new access code before checking scopes
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
1dca8d1a1d MDL-58168 auth_oauth2: Allow linking other accounts
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
151b0f9409 MDL-58132 repositories: Controlled link file type
This introduces a new "controlled link" file type where the file is not
stored in Moodle - but Moodle will control the access permissions on the file.

Plugins can "freeze" a filearea which means Moodle will take ownership of all the remote
files of this type.

When accessing a file, if the "filebrowser" infomation indicates the current user can write to the file, they
will be granted temporary write access.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
8ece1d70d8 MDL-58128 googledocs: Don't copy files
When linking - add the moodle account to the file and
organise it on the moodle side. Also allow read access with link,
but don't make any other changes to the perm/ownership.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
989e14fea0 MDL-58128 googledocs: Support reference files.
Add options so the admin can control the types of files this repository can support (and the default).

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
6c9cd495a2 MDL-58128 googledocs: Upgrade repo config
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
d247a63dfa MDL-58128 oauth2: Add a scheduled task for refresh
We need to make sure our refresh tokens do not expire. We run a scheduled
task to update the refresh token once per hour.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
0e59638bdb MDL-58126 googledocs: Re-implement the google docs repo
Use latest REST API (v3) - but avoid the google client libraries
(too big, too much to update, not integrated with auth).

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
299112498b MDL-58090 oauth2: Coding style
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
870a4a824e MDL-58090 oauth2: Improve help
Provide a link to the help for setting up an OAuth 2 service.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
722a6d0881 MDL-58090 oauth2: Remove wrong tests from branch
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
931c023468 MDL-58090 oauth2: Add unit tests
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
f9f243f93e MDL-58090 oauth2: Complete phpdocs
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
2b09b2daa3 MDL-58090 oauth2: Load and resave the DB files
Edit the DB files with XMLDB to detect/fix errors.

Part of MDL-58220
2017-04-03 13:40:12 +08:00
Damyon Wiese
dc4b56852a MDL-58090 oauth2: Do not install services by default
Instead provide buttons to quickly create pre-configured
versions of any of the known OAuth 2 services.

Part of MDL-58220
2017-04-03 13:40:12 +08:00
Damyon Wiese
237fd80cd2 MDL-58090 oauth2: API to get a system client
Request an oauth client with an access token retrieved with the stored refresh token from the OAuth issuer.

Part of MDL-58220
2017-04-03 13:39:45 +08:00
Damyon Wiese
ddf65b8c05 MDL-58090 oauth2: Facebook
Add defaults for facebook authentication and drop behaviour field completely.

Part of MDL-58220
2017-04-03 13:39:45 +08:00
Damyon Wiese
485a22fc98 MDL-58090 oauth2: Get rid of behaviour field
OAuth services working fully from config - no more subclasses for each OAuth issuer.

Part of MDL-58220
2017-04-03 13:39:44 +08:00
Damyon Wiese
8445556b4c MDL-58090 oauth2: Move code from subclasses to config
Allow the behaviour of each oauth service to be customised by config instead of
subclasses.

Part of MDL-58220
2017-04-03 13:39:44 +08:00
Damyon Wiese
60237253a2 MDL-58090 oauth2: Store a list of oauth2 services
Build an admin page where OAuth 2 services can be installed and configured.

Part of MDL-58220
2017-04-03 13:39:02 +08:00
Daniel Thee Roperto
a0e2748aac MDL-58394 filters: Fixed order not being respected. 2017-04-03 14:47:44 +10:00
Ankit Agarwal
75c597daed MDL-58465 unittests: Fix invalid use of exception 2017-04-03 09:24:34 +05:30
Cameron Ball
6d82ef49ea MDL-58087 core_calendar: Event mapper learned to map to stdClass and array
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
4477520e5a MDL-58371 core_completion: ensure calendar constant is defined
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
9bd158a3c7 MDL-57878 core: fixed failing unit test
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
6c83e65928 MDL-57878 mod_*: added unit tests for event decoration
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
b3bd7a66a0 MDL-57878 mod_*: added inclusion of completion event and callbacks
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
88d14007b3 MDL-57878 core_calendar: additional unit test for bailout callback
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Mark Nelson
74588eecc4 MDL-57878 core_calendar: extended bailout callback
Do not display completion related events if completion is disabled.

Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00