61 Commits

Author SHA1 Message Date
Andrew Nicols
e1b9d5f3cd MDL-73915 js: Drop support for IE and android
Moodle announced that support for IE would be dropped back in August
2020 with Moodle 3.9 but not active steps were taken at that time. That
decision was made in MDLSITE-6109 and this particular step was meant to
be taken in Moodle 3.10.

This is the first step taken to actively drop support for IE.

This commit also bumps the browser support pattern from 0.25% to 0.3%.
The percentage here includes any browser where at least this percentage
of users worldwide may be using a browser. In this case it causes
support for Android 4.3-4.4 to be dropped, which relate to Android
KitKat (released 2013).

This combination of changes means that all of the supported browsers in
our compatibility list support modern features including async,
for...of, classes, native Promises, and more which has a huge impact on
the ease of debugging code, and drastically reduces the minified file
size because a number of native Polyfills included by Babel are no
longer included.
2022-02-23 08:55:20 +08:00
Andrew Nicols
0a4047ab31 MDL-73915 js: Switch amd minification to terser
Unfortunately the babel minify-mangle plugin seems to be abandoned and
in certain circumstances can be very buggy. The only safe options are to
disable it, or to switch to a different minification library.

Not minifying our javascript is not ideal, so this commit updates the
javascript tasks to use a rollup, combined with babel, and terser.

Babel still converts code from ES/UMD/AMD to AMD modules with the
relevant browser support, whilst terser minifies the code.

The rollup bundler handles tracking and creation of sourcemaps, and
supports better parallelisation of the tasks.

Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core
and eslint, which change the built files anyway, this seems like the
ideal time to make this change.
2022-02-23 08:55:09 +08:00
Andrew Nicols
aa7f7957ea MDL-73915 js: Upgrade babel and eslint 2022-02-23 08:53:54 +08:00
Bas Brands
7c76e1c349 MDL-72466 core_output: dropdown menu alignment 2022-01-27 17:24:20 +01:00
Eloy Lafuente (stronk7)
5df6768443 MDL-73278 phpunit: Add missing payment subsystem and fix dataprovider
While testing the changed unit tests one by one, the
payment/tests/helper_test.php was failing because of a mismatch
between the dataProvider data and the param type.

That made me think why that error was not popping in complete runs
and the answer is that the new (3.10) subsystem is not in the
phpunit.xml.dist file.

Hence, adding it and fixing the dataProvider mismatch.

Finally, it has been detected that some old ICU versions (< 62)
have an incorrect behaviour, not adding the required non-breaking
white-space between the currency abbreviation and the value. So
we are skipping some payment tests if that's found.
2021-12-09 10:31:33 +01:00
Eloy Lafuente (stronk7)
deb0e76eee MDL-73278 phpunit: Rename already namespaced classes to match file name
These are the only cases 100% safe to apply the renaming of the
testcase class names to match the file names.

All other cases are not safe, because they are missing namespace
and may enter into name conflicts. Adding namespaces is not as
simple as imagined because it implies to, also, add a good number
of modifications to core. See the issue for more details.
2021-12-07 23:54:29 +01:00
Paul Holden
e8d7817f7f MDL-72544 output: set default core/toast message type to information.
Update existing code to set type to warning as appropriate.
2021-09-24 08:19:54 +01:00
Andrew Nicols
92179b7057 MDL-71113 js: Fix all jsdoc warnings 2021-06-18 09:38:05 +08:00
Andrew Nicols
70dcc60862 MDL-71113 js: Bare minimum fixes to build jsdoc 2021-06-18 09:38:04 +08:00
David Mudrák
22ecf2f9b8 MDL-71169 external: Do not explicitly specify the default methodname 2021-03-22 15:56:46 +01:00
Shamim Rezaie
9317849257 MDL-70287 core_payment: Redirect user to the successurl after payment 2021-02-24 22:44:10 +11:00
Shamim Rezaie
51b73e431e MDL-70287 core_payment: Add get_success_url to service_provider 2021-02-24 22:44:10 +11:00
Shamim Rezaie
03b9d60b8e MDL-70287 core_payment: Improving existing and missing phpdocs 2021-02-24 22:42:03 +11:00
Sara Arjona
8717e87916 Merge branch 'MDL-70394-master' of git://github.com/rezaies/moodle 2021-01-13 15:31:11 +01:00
Helen Foster
8e080c9703 MDL-70550 lang: Import fixed English strings (en_fix) 2021-01-07 19:35:32 +01:00
Shamim Rezaie
0dc19291b9 MDL-70394 paygw_paypal: Fix the incorrect foreign key 2020-12-17 00:20:59 +11:00
Shamim Rezaie
9f4a7c6da1 MDL-70459 core_payment: use array_merge to merge currencies 2020-12-16 01:54:18 +11:00
Shamim Rezaie
bbf468099b MDL-70237 payment: Allow html tags in gateway description 2020-11-18 23:22:51 +11:00
Eloy Lafuente (stronk7)
f9faf700aa NOBUG: Fixed file access permissions 2020-10-27 23:47:26 +01:00
Eloy Lafuente (stronk7)
96c572c5f3 NOBUG: Fixed SVG browser compatibility 2020-10-27 23:47:24 +01:00
Shamim Rezaie
ce7c648526 MDL-69166 core_payment: Add privacy implementation 2020-10-27 15:34:56 +11:00
Shamim Rezaie
0ecce652b1 MDL-69166 core_payment: Use promises instead of callbacks 2020-10-27 15:34:56 +11:00
Shamim Rezaie
f5d94d6305 MDL-69166 core_payment: Addressing various integration points
- Add help for 'payment account' field in the enrol instance form
- Remove MOODLE_INTERNALs when not necessary
- Add $userid to deliver_order
- Check if provider classes implement the provider interface
- Rename get_cost to get_payable
- get_payable returns payable object
- Improve registerEventListeners and added init
- Rename payment\provider to payment\service_provider
2020-10-27 15:34:56 +11:00
Shamim Rezaie
d5a9d6e520 MDL-69166 core_payment: Rename componentid to itemid 2020-10-27 15:34:56 +11:00
Shamim Rezaie
2d7feb7583 MDL-69166 core_payment: Renamed plugintype name from pg to paygw 2020-10-27 15:34:55 +11:00
Marina Glancy
9ad96a63a4 MDL-69166 core_payment: addressing integration review 2020-10-27 15:34:55 +11:00
Marina Glancy
71ccaf200d MDL-69166 core_payment: rename some functions 2020-10-27 15:34:55 +11:00
Shamim Rezaie
61766b3d11 MDL-69166 core_payment: Add paymentarea to the payment subsystem 2020-10-27 14:40:49 +11:00
Marina Glancy
409857a42f MDL-69166 core_payment: archiving accounts, triggering events, tests 2020-10-27 14:40:49 +11:00
Shamim Rezaie
73527fa213 MDL-69166 core_payment: Show cost on the modal when no gateway is chosen 2020-10-27 14:40:49 +11:00
Marina Glancy
1d479dc0cf MDL-69166 core_payment: improvements to api, small fixes 2020-10-27 14:40:49 +11:00
Marina Glancy
6ff3087fe6 MDL-69166 core_payment: add payment accounts 2020-10-27 14:40:49 +11:00
Shamim Rezaie
d5958c420e MDL-69166 pg_paypal: only prevent closing during autorisation 2020-10-27 14:40:49 +11:00
Shamim Rezaie
e25eb2c0e1 MDL-69166 core-payment: Autoselect gateway when there is only one 2020-10-27 14:40:49 +11:00
Shamim Rezaie
e3e83185ed MDL-69166 core_payment: payment gateways can have a surcharge 2020-10-27 14:40:47 +11:00
Shamim Rezaie
11b2d9e9ac MDL-69166 core_payment: show cost on the modal 2020-10-27 14:37:29 +11:00
Shamim Rezaie
950e69dd4c MDL-69166 pg_paypal: capture payment directly 2020-10-27 14:37:29 +11:00
Shamim Rezaie
9e6630ab99 MDL-69166 pg_paypal: New helper to get order details from PayPal 2020-10-27 14:37:29 +11:00
Shamim Rezaie
fd187060ad MDL-69166 core_payment: ES6-ifying modal_gateways 2020-10-27 14:37:28 +11:00
Shamim Rezaie
b23dcc37f2 MDL-69166 core_payment: Use a custom modal type for gateway selector 2020-10-27 14:37:28 +11:00
Shamim Rezaie
2bb44987a6 MDL-69166 pg_paypal: Support multiple currencies on the same page 2020-10-27 14:37:28 +11:00
Shamim Rezaie
9d773ee592 MDL-69166 enrol_fee: use template for payment btn & properly format cost 2020-10-27 14:37:28 +11:00
Shamim Rezaie
ad6df31745 MDL-69166 core_payment: es6-ify 2020-10-27 14:37:28 +11:00
Shamim Rezaie
b5507b8685 MDL-69166 core_payment: add a callback for when payment is done 2020-10-27 14:37:28 +11:00
Shamim Rezaie
8726d77517 MDL-69166 pg_paypal: Display PayPal buttons in a modal 2020-10-27 14:37:28 +11:00
Shamim Rezaie
c67e35521a MDL-69166 pg_paypal: handle paypal checkout callbacks 2020-10-27 14:37:28 +11:00
Shamim Rezaie
330f492089 MDL-69166 pg_paypal: Ability to connect to sandbox or live environment 2020-10-27 14:37:28 +11:00
Shamim Rezaie
16099e4038 MDL-69166 pg_paypal: Process after payment 2020-10-27 14:37:28 +11:00
Shamim Rezaie
52ed1392f8 MDL-69166 core_payment: Save general payment information 2020-10-27 14:37:28 +11:00
Shamim Rezaie
fc37fb1eb2 MDL-69166 pg_paypal: paypal helper class to work with API 2020-10-27 14:37:28 +11:00