===== Problem to solve
There are some problematic users who continually violate file upload policies & guidelines, but should otherwise be retained on the wiki as constructive contributors. A sitewide block is not an appropriate way to handle these situations.
===== Proposed solution
It would be useful to be able to *only* block users from uploading files.
Allowing them to keep editing allows them to contact people who can help explain copyright issues to them and shouldn't cause the same outrage that sitewide blocking tends to.
===== Mockup
{F34274815}
===== Acceptance criteria
* On Special:Block, under 'Actions to block' add a checkbox for `Uploading files`
** The checkbox should be unchecked by default with "Partial" block being selected
** The checkbox should be checked and disabled if "Sitewide" block is selected
* When a block is saved with the 'Uploading files' checkbox selected, the target user should not be able to upload files via API, via any tool in any editor, or via any Special page.
** Error messages should display appropriately (see below)
*** Special:Upload
*** Special:UploadWizard
*** Uploading a file in an editor (visualeditor, 2017 source editor, or 2010 source editor.) — I believe they all use the same tool.
* When a Partial block is saved with the 'Uploading files' checkbox selected, the log items should indicate uploading files is part of the block
** e.g. //23:20, 26 November 2018 AdminUsername (talk | contribs | block) blocked BadUser (talk | contribs) from editing Page(s) and uploading files with an expiration time of N (autoblock disabled) (unblock | change block)//
** e.g. //23:20, 26 November 2018 AdminUsername (talk | contribs | block) blocked BadUser (talk | contribs) from uploading files with an expiration time of N (autoblock disabled) (unblock | change block)//
** similar log messages should exist for modifying blocks to add or remove upload, and to include namespaces within the partial block
* Special:BlockList should display that a user is blocked from uploading files as a bullet in the 'Block parameters' column
* If we can add links to this error message, we should add a 'Details.' link which points to `Special:BlockListwpTarget=USERNAME`