Commit graph

23379 commits

Author SHA1 Message Date
Damyon Wiese
99e3c347f9 MDL-58220 oauth2: Minor cleanups
Fixes spotted by Jun in peer review.
2017-04-03 13:43:25 +08:00
Damyon Wiese
28b592d5a6 MDL-58338 oauth2: Force email confirmation
New accounts and linking a login to an existing account MUST go through email verification.
We cannot trust the emails we get from oauth providers have been confirmed.

Part of MDL-58220
2017-04-03 13:43:25 +08:00
Damyon Wiese
d5bb9f1ffc MDL-58334 repositories: Offline downloads
Support an optional param for offline downloads for repositories supporting external links (googledrive and skydrive).

Part of MDL-58220
2017-04-03 13:43:25 +08:00
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
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
eca128bf47 MDL-58220 oauth2: Global enable/disable for issuers. 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
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
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
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
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
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
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
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
Mark Nelson
9bd158a3c7 MDL-57878 core: fixed failing unit test
Part of MDL-55611 epic.
2017-04-03 11:37:09 +08:00
Simey Lameze
fdeeaff954 MDL-58265 core_test: replace I turn editing on steps
Also remove few more unnecessary steps that redirects behat to
site home page to actually get to the course.

Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
3353cfd8c1 MDL-58265 core_test: add I am on course homepage in edit mode step
This commit also:
- Rename i_am_on_course_page to i_am_on_course_homepage.
- Pass false to out_as_local_url()

Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
93be3f730c MDL-58265 core_test: remove unnecessary steps
This commmit removes steps that take behat to site home page
to actually get to a course page.

Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
c987d1b2ef MDL-58265 core_test: replace all uses of I follow course steps
Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
95f11fde64 MDL-58265 core_test: add I am on course page behat step
Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Cameron Ball
e798fa76f5 MDL-58110 core_calendar: Add proxy for modules
Modules associated with an event are stored in the event table
as the module's name and instance number not the actual ID of the instance
in the modules table.

So to lazy load them we need a proxy that uses the module name and instance
rather than the ID.

Part of MDL-55611 epic.
2017-04-03 11:37:06 +08:00
Mark Nelson
00995f0339 MDL-58239 core_output: fixed user date helper doc example
Part of MDL-55611 epic.
2017-04-03 11:37:06 +08:00
Ryan Wyllie
9b8e505715 MDL-57503 calendar: external function for action events by courses
Added an external function to get action events by a list of courses and
timesort.

Part of MDL-55611 epic.
2017-04-03 11:36:34 +08:00
Ryan Wyllie
60774b28c3 MDL-57503 calendar: external function get action events by course
Added an external function to get action events by course and timesort.

Part of MDL-55611 epic.
2017-04-03 11:36:34 +08:00
Ryan Wyllie
1ef06b4335 MDL-57503 enrol: allow course ids for enrol_get_my_courses
Allow enrol_get_my_courses to be filtered by a set of known course ids
that the user may or may not be enrolled on.

The result will be a subset of the given course ids that the user is
enrolled in.

Part of MDL-55611 epic.
2017-04-03 11:36:34 +08:00
Mark Nelson
c0f877fa62 MDL-57502 core_calendar: add get calendar action events web service
Part of MDL-55611 epic.
2017-04-03 11:36:07 +08:00
Mark Nelson
12cbce0aa3 MDL-57888 core_calendar: moved functions from calendar/lib.php
Part of MDL-55611 epic.
2017-04-03 11:35:38 +08:00
Simey Lameze
a22fa7cb68 MDL-57545 core_calendar: remove visibility fields from calendar events
Part of MDL-55611 epic.
2017-04-03 11:35:38 +08:00
Mark Nelson
c45266d115 MDL-57545 core_calendar: trigger update event when toggling visibility
Part of MDL-55611 epic.
2017-04-03 11:35:38 +08:00
Ryan Wyllie
e03d5d4790 MDL-57445 core: allow context variables in pix helper
Allow the user of context variables in the id and component section of
the pix helper.

Part of MDL-55611 epic.
2017-04-03 11:35:37 +08:00
Mark Nelson
ca622fd9fa MDL-57435 core: added additional columns to 'event' table
Part of MDL-55611 epic.
2017-04-03 11:35:37 +08:00
Mark Nelson
e057f279e4 MDL-57497 core_calendar: added new calendar event class
Moved calendar_event class to new location using replaceclasses.php

Part of MDL-55611 epic.
2017-04-03 11:33:55 +08:00
Mark Nelson
e9dfeec94e MDL-57434 core: deprecated xxx_print_overview() and related functions
Part of MDL-55611 epic.
2017-04-03 11:33:55 +08:00
Mark Nelson
4c5cde3134 MDL-57433 block_course_overview: removed block from core
Part of MDL-55611 epic.
2017-04-03 11:33:55 +08:00
Mark Nelson
932f299bc0 MDL-57437 core: upgrade code for introduction of block_myoverview
Part of MDL-55611 epic.
2017-04-03 11:32:57 +08:00