Commit graph

100 commits

Author SHA1 Message Date
Martin Urbanec 9cef38e80f IP Masking: Do not allow temporary users to thank other users
It has been decided to not allow temporary users to thank
other users (see task). This is because the transition
between anonymous and temporary account is nearly invisible,
and it might be confusing why the thanking ability appears
and hides.

Bug: T345679
Change-Id: I62e67327c9a80b3da9e98a2dccdd4ec2051f3026
2023-10-03 22:23:02 +00:00
Daimona Eaytoy 933f5591e5 Make ApiCoreThankIntegrationTest more robust
Use methods provided by core to create (non)existing test pages and
editing them. Make sure that revId is not 1, or the test will fail due
to T344475. This is needed by core change Ie2f1809d.

Change-Id: Ib7ea8c566d330db27c8abfcb4a783ddbd31787e0
2023-08-18 00:37:20 +00:00
Daimona Eaytoy cae27c61f3 Add ApiCoreThankUnitTest to the Database group
The test needs the DB for various things related to user blocks.

Change-Id: I1076c347f02de7285e1fdc77feccb59ad60cd08a
2023-08-06 21:30:56 +02:00
bwang b6a7933544 Update Thanks extension to use IconButton.js from MobileFrontend
Bug: T340262
Change-Id: Id177ce9a11b2f5e82bd1099613fd7a9c4cde6dc5
2023-07-28 11:17:43 -07:00
Func b96b4e1fde ServiceWiring: Rename LogStore to ThanksLogStore
`LogStore` is too ambiguous, usually services from extension should
be prefixed with its name.

Change-Id: Ia8a8474ac44ee9990b22ca4650d3ae5311744d19
2023-05-26 21:08:54 +08:00
jenkins-bot cfb40caaa8 Merge "tests: Make PHPUnit data providers static" 2023-05-21 13:06:59 +00:00
Umherirrender fc84a35180 tests: Make PHPUnit data providers static
Initally used a new sniff with autofix (T333745)

Bug: T332865
Change-Id: Id40d7df5f9d380aca50ce4c15bbf83897333ecc5
2023-05-20 19:12:59 +02:00
Marcin Kostrzewski e483b844c9 API: Refactor to match modern code standards
I've moved all API classes into a separate folder,
as I felt like grouping modules improves readability.
APIs themselves had storage logic which I extracted and put
in another folder. I was originally going with an interface
to the storage to allow for other storage methods than
log entries, but the code was too tightly coupled with it,
so I've left that for another day. Added dependency injection
for all services and used ServiceOptions for config vars.

Bug: T337002
Change-Id: Ie8a1f435d635e1d0e1286f673bfe96cc4fdfe4fe
2023-05-20 17:57:26 +03:00
Bartosz Dziewoński dc8f07d2af API tests: Assert error codes, not error messages
Depends-On: I752f82f29bf5f9405ea117ebf9e5cf70335464ad
Needed-By: Ie17987991d1e9a0d77da97e3a81fe0a21c6d7866
Change-Id: I353e34d81afaa06750f8725181c808fabcebea42
2023-04-26 17:55:21 +00:00
Umherirrender 2a9a2e08e1 build: Updating npm dependencies
* eslint-config-wikimedia: 0.22.1 → 0.24.0

Change-Id: I8802407ab40834168d48f19a7926f9254c17a59e
2023-03-24 20:48:23 +01:00
Thiemo Kreuz a9878ab2ab Some smaller general code cleanups
In detail:
* Use more compact syntax to avoid a bit of code duplication.
* Use createMock() shortcut in tests.
* Avoid hiding code in strings.
* Remove a comment that literally repeats what the code says.

Change-Id: Ibedef380489451268e2e87f0864164e8f9737913
2023-01-03 12:30:41 +01:00
AnaïsGueyte d287af1af1 Remove GlobalBlock calls from Thanks
Remove the usage of User::isBlockedGlobally and User::getGlobalBlock

Bug: T318891
Change-Id: I79450b34523d0ecb1a7a7b1e5a99b7650e02866e
2022-11-09 14:01:45 -05:00
Timo Tijhof 0fddc4a258 tests: Remove use of QUnit 1.x setup()/teardown()
No longer supported upstream. Was kept compatible via monkey-patch
in MW core testrunner.js. While at it, also:

* Convert one file from an ad-hoc closure to using the QUnit.module()
  scop, as per <https://api.qunitjs.com/QUnit/module/>.

* Use inline variable declarations per current code conventions.

* Remove needless duplication and description from hardcoded
  assertion message.

Bug: T250045
Change-Id: If556b338c6151108aeebd241b828ccb420c8b857
2022-05-04 10:46:10 +02:00
Ed Sanders aaaa5b63da JS: Update APIs to make more extensible
* Don't require a jQuery element with a specific attribute
  to record thanks. Instead pass in the thanked ID directly.
* In Flow, don't override the cookieName static property,
  instead pass it in as an argument.
  Change the static property (effectively a global) prevents
  us from having multiple types of thanks on the same page.

Change-Id: Ia569f8636f070f2af69f89d7da66c9a6f9821d24
2022-01-25 22:02:15 +00:00
Ed Sanders 1daf4bcf2d build: Update eslint config
Change-Id: If0871326eb35f8cb6ef026784cd04fca5754ab59
2022-01-25 22:01:31 +00:00
Alexander Vorwerk d7b1bfe6f3 Replace usages of deprecated wfWikiID()
The global function wfWikiID() is deprecated since 1.35 and it's usages
should be replaced with WikiMap::getCurrentWikiId().

Bug: T298059
Change-Id: I0cb8e96b7e988aa1d6dce0cb3cddf65fc627b214
2021-12-21 02:32:37 +01:00
Alexander Vorwerk c60c7f01f9 Avoid using WikiPage::factory()
WikiPage::factory() is deprecated since 1.36 and should be replaced
with WikiPageFactory::newFromTitle().

Bug: T297688
Change-Id: I8a141512c51b5f7901ce1af36062f9b1ae64ef7b
2021-12-14 22:49:30 +01:00
Alexander Vorwerk 559e3e04ce MediaWikiTestCase -> MediaWikiIntegrationTestCase
MediaWikiTestCase has been renamed to MediaWikiIntegrationTestCase in 1.34.

Bug: T293043
Change-Id: Ic6305e141941667fc52844ae45386ce69a60e8e4
2021-10-13 12:28:31 +02:00
libraryupgrader 56e6d0d365 build: Updating mediawiki/mediawiki-codesniffer to 37.0.0
Change-Id: Ic46650ca7e95698d6c2ee045a62a3f4115c14a2d
2021-07-24 06:11:02 +00:00
Roman Stolar 28501aa637 Update DatabaseBlock construct option 'by' to use User Identity only
Bug: T283641
Change-Id: I0b79f99f89d386288529cd17b8542b90cccf451a
2021-06-01 12:21:42 +03:00
Kunal Mehta 8055732ae0 Remove PHP 5.3 $this closure workaround
Change-Id: Ic1f8147e85ad751927153d5a8f6330d37800aacb
2021-05-14 10:25:15 -07:00
STran 43dd004a62 Allow partially blocking giving thanks
- Add hook to enable blocking thanks
- Check if user is blocked from 'thanks' action
  and disable giving thanks from  API and UI if so

Bug: T242785
Change-Id: I290a7c39c6fcb22a8ab4a9ecbad76a239cb18ea0
2021-05-12 13:06:09 -07:00
libraryupgrader 7662f6c61b build: Updating eslint-config-wikimedia to 0.20.0
Change-Id: I808cbd2471d4cec72df383d03f208ea4d92da106
2021-04-14 10:37:46 +00:00
Umherirrender 6a8776d1b1 Use ::class for class name
This works also for non-existing classes,
because it is resolved on compile time

Change-Id: Ib40f1aeea35e474530fea42c43d593f6c86f4487
2021-04-08 21:14:44 +02:00
jenkins-bot af5711bf3f Merge "Namespace extension" 2021-03-21 17:52:26 +00:00
Reedy ce439d6ba4 Remove use of whitelist in comment
Bug: T277963
Change-Id: I0355bd4fe912b161d0769eb47d03db5400ce5601
2021-03-21 05:08:01 +00:00
Reedy 3749db7eba Namespace extension
Change-Id: Ic9e0b8d6b3cc6b9be4d6b026cb0a3b4a12aef38f
2021-03-20 18:22:17 -07:00
Reedy 4329060a7b $wgThanksLogTypeWhitelist has been replaced by $wgThanksAllowedLogTypes
Bug: T277963
Change-Id: I7ebc669b353bf6097cbcee3aca186d46419bb5c7
2021-03-20 04:43:48 +00:00
libraryupgrader 2c2b79f9b9 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 34.0.0 → 35.0.0
* mediawiki/minus-x: 1.1.0 → 1.1.1

npm:
* eslint-config-wikimedia: 0.17.0 → 0.18.1

Additional changes:
* Added the "composer phan" command to conveniently run phan.

Change-Id: I9f93be1e4480b38031295771aa2a8b540268b2db
2021-01-30 16:07:37 +00:00
Umherirrender 1ec0aed694 Inline class property in tests
Change-Id: Iaa52bd9faafee62ac524e19964bd1aa2feea129b
2021-01-17 20:15:26 +01:00
DannyS712 a1e577c9a5 Remove use of the Revision object returned in WikiPage::doEditContent
Bug: T254952
Change-Id: Ifbdfd9bad21209be186bc93a4a82c034a8c6a26c
2020-06-10 00:31:25 +00:00
jenkins-bot 27104dd11a Merge "Remove use of WikiPage::doEditContent" 2020-06-05 17:14:14 +00:00
jenkins-bot 850fb00009 Merge "Use mw.cookie instead of $.cookie" 2020-06-03 11:12:01 +00:00
libraryupgrader 081ad97a0c build: Updating mediawiki/mediawiki-codesniffer to 31.0.0
Additional changes:
* Replaced "jakub-onderka" packages with "php-parallel-lint".

Change-Id: I1f3e80ffbcdf2526a6533af6d7008d9f3456531c
2020-05-30 08:23:03 +00:00
Gergő Tisza 3d17c58922 Use mw.cookie instead of $.cookie
Bug: T254024
Change-Id: If487ef4d14f308fd6da0d6b938e35dc68dca5b5e
2020-05-29 19:44:12 +00:00
DannyS712 f1ec6e6542 Remove use of WikiPage::doEditContent
Extension now requires MW 1.35+, so remove outdated version checks

Bug: T250638
Change-Id: I54f9865a09e7dcc00fe74f9d5dd3d73affde331a
2020-05-23 08:16:56 +00:00
DannyS712 80fe5f9228 Use new signature for WikiPage::doDeleteArticleReal in MW 1.35+
Bug: T247869
Change-Id: I606611d2cf5cd77c8cef68cc96def9207d2e5940
2020-03-25 06:45:15 +00:00
Daimona Eaytoy 3d2441cfef Avoid using Title::__construct
Change-Id: Ic78da7e9f417ee64288537e008068949edb1fbac
2020-03-07 13:15:12 +00:00
DannyS712 7de45d5f5c Remove use of ApiTestCase::doLogin
Bug: T244039
Change-Id: I5ce8bebc22d15bc40f2704a2dfec6f0757fb0034
2020-02-03 19:17:51 +00:00
DannyS712 9f25a0b64e Remove use of global $wgUser
Reword ApiCoreThankIntegrationTest::testLogThanksForADeletedLogEntry
to avoid needing to use it

Also remove one use of doLogin(), remaining will be removed separately

Bug: T243874
Bug: T244039
Change-Id: I6cf26839cb4e3042408fb6b059fb877b605763e8
2020-02-01 01:11:40 +00:00
Ed Sanders c033679cb8 build: Update eslint-config-wikimedia
Change-Id: I3cbcbb1695896ddc1e54c40dc0da50f91944916f
2019-12-12 11:36:24 +00:00
Max Semenik 469117ff28 tests: getMock() is deprecated
Bug: T192167
Change-Id: I460f9c5457483b9350c4f88c24d24425fd46a9a8
2019-10-21 22:18:33 -07:00
Daimona Eaytoy 2b81f0333f Clean up some PHPUnit 4 bc stuff
Bug: T192167
Change-Id: I5b08e479329503ee651580005fe7347f22939ca4
2019-10-13 11:41:05 +02:00
Max Semenik be060b3d07 tests: setExpectedException() is deprecated
Change-Id: Ie9500ff2dabb9315f6fe8344acdfbb1f3f1aac33
2019-10-12 15:55:31 -07:00
James D. Forrester 951d171e6b build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: I67fef60b34f8d2b6f5e4920a3caf99bef75fd214
2019-10-11 12:16:59 -07:00
Derick Alangi 649d070d22 Fix function name mismatch, wfWikiId() -> wfWikiID()
Change-Id: I78df6e6bbd19315bb4dc7bcb41b3506a182ce8bb
2019-08-31 21:07:14 +01:00
Thalia a95e0e2b91 Use MediaWiki\Block\DatabaseBlock instead of Block
This follows the rename of the Block class in I6d96b63ca0.

Change-Id: I6c0244987a9b2b1d62efabc2da78b79711dad878
2019-05-31 16:44:56 +01:00
jenkins-bot 182fe138e0 Merge "Allow partially blocked users to use Thanks" 2019-05-30 21:02:03 +00:00
Vedmaka 6684b5aaaa Support for PermissionManager changes at
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/502484

Change-Id: Ie4cedf457eaaa93ec3055c37539322855e02ce26
2019-05-28 09:33:32 +00:00
Thalia 810de9afbd Allow partially blocked users to use Thanks
Only prohibit users from using Thanks if they are blocked from the
associated page. This allows partially blocked users to use thanks
most of the time.

It also allows blocked users to thank on their own talk page, if
they are allowed to edit it, even if they are sitewide blocked.

Bug: T221371
Change-Id: Ic99ec38ea200e806963951b2dd67e56ecde63752
2019-05-22 22:05:33 +01:00