Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F1630257
20181031.board.01.queryreset.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
20181031.board.01.queryreset.php
View Options
<?php
// See T13208. It was previously possible to replace a saved query with another
// saved query, causing loss of the first query. Find projects which have their
// default query set to an invalid query and throw the setting away.
$viewer
=
PhabricatorUser
::
getOmnipotentUser
();
$table
=
new
PhabricatorProject
();
$conn
=
$table
->
establishConnection
(
'w'
);
$iterator
=
new
LiskMigrationIterator
(
$table
);
$search_engine
=
id
(
new
ManiphestTaskSearchEngine
())
->
setViewer
(
$viewer
);
foreach
(
$iterator
as
$project
)
{
$default_filter
=
$project
->
getDefaultWorkboardFilter
();
if
(!
strlen
(
$default_filter
))
{
continue
;
}
if
(
$search_engine
->
isBuiltinQuery
(
$default_filter
))
{
continue
;
}
$saved
=
id
(
new
PhabricatorSavedQueryQuery
())
->
setViewer
(
$viewer
)
->
withQueryKeys
(
array
(
$default_filter
))
->
executeOne
();
if
(
$saved
)
{
continue
;
}
$properties
=
$project
->
getProperties
();
unset
(
$properties
[
'workboard.filter.default'
]);
queryfx
(
$conn
,
'UPDATE %T SET properties = %s WHERE id = %d'
,
$table
->
getTableName
(),
phutil_json_encode
(
$properties
),
$project
->
getID
());
echo
tsprintf
(
"%s
\n
"
,
pht
(
'Project ("%s") had an invalid query saved as a default workboard '
.
'query. The query has been reset. See T13208.'
,
$project
->
getDisplayName
()));
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Wed, Jul 16, 7:16 PM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
367051
Default Alt Text
20181031.board.01.queryreset.php (1 KB)
Attached To
Mode
rP Phorge
Attached
Detach File
Event Timeline
Log In to Comment