1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-07 13:21:02 +01:00
phorge-phorge/src/applications
Andre Klapper 1c59b65421 Dashboards: add capability who can create Dashboards
Summary:
Add a `dashboard.create` capability to allow limiting dashboard creation (and creation of related panels).
This can reduce spam in open Phorge installations in which anyone can create an account while you still want anyone to be able to view existing dashboards.

Closes T15438

Test Plan:
1. As an admin, go to `/applications/view/PhabricatorDashboardApplication/`
2. See only two options "Can Use Application: All Users" and "Can Configure Application: Administrators"
3. Apply patch
4. As an admin, go to `/applications/view/PhabricatorDashboardApplication/` and see the new option "Can Create Dashboards" set to "All Users"
5. As an average user, go to `/dashboard/` and successfully create a new Dashboard
6. As an admin, go to `/applications/edit/PhabricatorDashboardApplication/` and change "Can Create Dashboards" from "All Users" to "Administrators", select "Save Policies" button
7. As an average user, go to `/dashboard/` and see that "Create Dashboard" is disabled
8. As an average user, go to an existing dashboard not created by this user and see that selecting "Edit Dashboard" shows "You do not have permission to edit this object."
9. As an average user, go to the existing dashboard that you created yourself and see that the Edit Policy is set to this user.
10. As an average user, go to the existing dashboard that you created yourself and see that you can still create or add panels.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15438

Differential Revision: https://we.phorge.it/D25270
2023-06-19 12:12:22 +02:00
..
almanac Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
aphlict Reduce the verbosity of the "Aphlict" log 2020-04-14 13:24:44 -07:00
arcanist/conduit
audit Correct spelling mistake in PhabricatorAuditEditor 2023-05-30 10:43:40 +02:00
auth Fix PHP 8.1 "strlen(null)" exceptions which block adding 2FA factor 2023-05-23 11:53:31 +02:00
badges Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
base Fix PHP 8.1 "strlen(null)" exception which blocks rendering most applications' Configure pages 2023-05-08 13:23:31 +02:00
cache Fix various "strlen(null)" PHP 8.1 issues on "bin/phd" and "bin/drydock" pathways 2022-05-03 15:57:15 -07:00
calendar Fix PHP 8.1 "strlen(null)" exceptions which block rendering page to import ICS calendar file 2023-05-08 23:13:12 +02:00
celerity Teach ./bin/celerity about sprite maps 2023-06-03 09:57:05 -07:00
chatlog Replace "getRequestURI()->setQueryParams(array())" with "getPath()" 2019-02-12 14:43:33 -08:00
conduit Fix PHP 8.1 "strlen(null)" exception calling Conduit's user.whoami 2023-06-13 07:31:52 +02:00
config Config page: add lovely git-related error messages in standard error log 2023-06-10 13:21:41 +02:00
conpherence Fix PHP 8.1 "strlen(null)" exceptions which block rendering the Conpherence page 2023-04-30 18:24:49 +02:00
console Fix PHP 8.1 "strlen(null)" exceptions which block rendering the DarkConsole 2023-05-20 19:18:32 +02:00
countdown Dashboards: add capability who can create Dashboards 2023-06-19 12:12:22 +02:00
daemon Fix various "strlen(null)" PHP 8.1 issues on "bin/phd" and "bin/drydock" pathways 2022-05-03 15:57:15 -07:00
dashboard Dashboards: add capability who can create Dashboards 2023-06-19 12:12:22 +02:00
differential Fix some PHP 8.1 "strlen(null)" exceptions on Differential Revision page 2023-06-08 14:49:28 +02:00
diffusion Fix PHP 8.1 "strlen(null)" exception when Diffusion repository has no tags 2023-06-12 21:50:35 +02:00
diviner Fix some PHP 8.1 issues in Diviner generator 2023-04-20 18:00:31 +02:00
doorkeeper Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
draft/storage Save drafts for inline comments currently being edited 2020-05-04 13:19:42 -07:00
drydock Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
fact Fix additional "xprintf()"-class static parameter lint errors 2020-09-08 11:45:48 -07:00
favorites Make "Favorites" work more like other customizable menus 2019-04-09 13:59:35 -07:00
feed Remove "feed.publish" API 2022-05-17 16:30:53 -07:00
files Fix PHP 8.1 "base64_decode(null)" exception calling Conduit's file.upload with no data passed 2023-06-11 16:34:16 +02:00
flag Add a "Remove flag" action to Herald 2019-09-09 13:15:52 -07:00
fund Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
guides Remove product literal strings in "pht()", part 5 2022-04-25 12:22:27 -07:00
harbormaster Correct spelling mistakes 2023-05-27 22:19:06 +01:00
help Tokenize external editor links so they can be safely materialized on the client 2020-04-19 09:02:49 -07:00
herald Work around exception in Herald transcript of old tasks: Call to a member function getAppliedTransactionPHIDs() on bool 2023-06-12 21:49:14 +02:00
home Fix PHP 8.1 "strlen(null)" exception which blocks rendering the Home page 2023-05-01 15:37:56 +02:00
legalpad Fix PHP 8.1 "strlen(null)" exceptions which block rendering Legalpad signatures 2023-05-19 17:01:53 +02:00
lipsum Add "--force" and "--quickly" flags to bin/lipsum 2017-02-27 09:09:41 -08:00
macro Fix PHP 8.1 "ltrim(null)" exception which blocks rendering first Meme comment 2023-06-10 18:41:00 +02:00
maniphest Fix PHP 8.1 "trim(null)" exception which blocks rendering Reports' Burnup Rate page 2023-05-23 11:58:19 +02:00
meta Fix PHP 8.1 "ltrim(null)" exception which blocks rendering five applications' Configure pages 2023-05-08 14:33:43 +02:00
metamta Fix PHP 8.1 "strlen(null)" exception shown when sending SMS Test Message to Contact Number 2023-05-19 17:01:16 +02:00
multimeter Fix PHP 8.1 "explode(null)" exception which blocks rendering the Multimeter page 2023-05-29 12:35:54 +02:00
notification PHP 8.2: fixes for strlen() not accepting NULL anymore, part 1 2023-03-31 22:05:52 +02:00
nuance Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
oauthserver Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
owners Fix PHP 8.1 "strlen(null)" and preg_match() exceptions which block rendering "Browse Subscribers" overlay dialog 2023-05-12 12:02:15 +02:00
packages Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
passphrase Allow to prefill name and description fields of a new Passphrase 2023-02-11 11:08:12 +01:00
paste Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
people Add serious business string for defrocking a user (remove admin rights) 2023-06-16 13:58:28 +02:00
phame Fix PHP 8.1 "strlen(null)" exception which blocks creating a blog post 2023-05-08 13:20:29 +02:00
phid Fix a PHP 8.1 strlen() issue with "mysql.pass" configuration 2021-12-16 15:24:21 -08:00
phlux Convert simple query subclasses to use internal cursors 2019-03-19 13:00:27 -07:00
pholio Fix PHP 8.1 "strlen(null)" exception which blocks rendering Pholio mock preview 2023-05-07 12:37:00 +02:00
phortune Fix typo in PhortuneMerchant.php 2023-05-30 12:00:51 +02:00
phpast Update phpast for new UI 2016-04-05 13:52:59 -07:00
phrequent Convert simple query subclasses to use internal cursors 2019-03-19 13:00:27 -07:00
phriction Fix PHP 8.1 "strlen(null)" exception which blocks deleting Phriction document 2023-05-24 18:09:12 +02:00
phurl Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
policy Provide a simple "Attach File" explicit workflow for files referenced but not attached 2022-05-24 09:49:59 -07:00
ponder Ponder: strike code of resolved questions in query results 2023-03-27 20:55:18 +02:00
project Conduit column.search: add status, sequence and isDefault to API results 2023-06-19 08:58:52 +02:00
remarkup Generate file attachment transactions for explicit Remarkup attachments on common edit pathways 2022-05-19 13:21:04 -07:00
repository Fix PHP 8.1 "strlen(null)" exception on Diffusion repository History page after setting Callsign 2023-06-12 21:47:45 +02:00
search Correct spelling mistakes 2023-05-27 22:19:06 +01:00
settings Fix PHP 8.1 "strlen(null)" exceptions which block adding 2FA factor 2023-05-23 11:53:31 +02:00
slowvote Update Slowvote poll status to use sensible string constants 2022-05-27 10:15:01 -07:00
spaces Fix PHP 8.1 "strlen(null)" exception which blocks Space creation 2023-05-06 04:05:37 +02:00
subscriptions Remove product literal strings in "pht()", part 24 2022-04-25 16:46:26 -07:00
support/application
system Fix information page about Read-only status 2023-03-25 12:06:35 +01:00
tokens Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
transactions Auto-subscription: little less verbose 2023-06-15 11:52:02 +02:00
typeahead Fix PHP 8.1 null parameter exceptions which block rendering the "Browse Projects" overlay dialog 2023-05-20 17:48:53 +02:00
uiexample Remove product literal strings in "pht()", part 9 2022-04-25 12:22:29 -07:00
xhprof Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00