3 files changed +55
-0
lines changed Original file line number Diff line number Diff line change 2018
2018
'PhabricatorBadgesAward' => 'applications/badges/storage/PhabricatorBadgesAward.php',
2019
2019
'PhabricatorBadgesAwardController' => 'applications/badges/controller/PhabricatorBadgesAwardController.php',
2020
2020
'PhabricatorBadgesAwardQuery' => 'applications/badges/query/PhabricatorBadgesAwardQuery.php',
2021
+ 'PhabricatorBadgesAwardTestDataGenerator' => 'applications/badges/lipsum/PhabricatorBadgesAwardTestDataGenerator.php',
2021
2022
'PhabricatorBadgesBadge' => 'applications/badges/storage/PhabricatorBadgesBadge.php',
2022
2023
'PhabricatorBadgesBadgeAwardTransaction' => 'applications/badges/xaction/PhabricatorBadgesBadgeAwardTransaction.php',
2023
2024
'PhabricatorBadgesBadgeDescriptionTransaction' => 'applications/badges/xaction/PhabricatorBadgesBadgeDescriptionTransaction.php',
7000
7001
),
7001
7002
'PhabricatorBadgesAwardController' => 'PhabricatorBadgesController',
7002
7003
'PhabricatorBadgesAwardQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
7004
+ 'PhabricatorBadgesAwardTestDataGenerator' => 'PhabricatorTestDataGenerator',
7003
7005
'PhabricatorBadgesBadge' => array(
7004
7006
'PhabricatorBadgesDAO',
7005
7007
'PhabricatorPolicyInterface',
Original file line number Diff line number Diff line change @@ -124,6 +124,23 @@ protected function buildCustomEditFields($object) {
124
124
->setTransactionType (
125
125
PhabricatorBadgesBadgeDescriptionTransaction::TRANSACTIONTYPE )
126
126
->setValue ($ object ->getDescription ()),
127
+ id (new PhabricatorUsersEditField ())
128
+ ->setKey ('award ' )
129
+ ->setIsConduitOnly (true )
130
+ ->setDescription (pht ('New badge award recipients. ' ))
131
+ ->setConduitTypeDescription (pht ('New badge award recipients. ' ))
132
+ ->setTransactionType (
133
+ PhabricatorBadgesBadgeAwardTransaction::TRANSACTIONTYPE )
134
+ ->setLabel (pht ('Award Recipients ' )),
135
+ id (new PhabricatorUsersEditField ())
136
+ ->setKey ('revoke ' )
137
+ ->setIsConduitOnly (true )
138
+ ->setDescription (pht ('Revoke badge award recipients. ' ))
139
+ ->setConduitTypeDescription (pht ('Revoke badge award recipients. ' ))
140
+ ->setTransactionType (
141
+ PhabricatorBadgesBadgeRevokeTransaction::TRANSACTIONTYPE )
142
+ ->setLabel (pht ('Revoke Recipients ' )),
143
+
127
144
);
128
145
}
129
146
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ final class PhabricatorBadgesAwardTestDataGenerator
4
+ extends PhabricatorTestDataGenerator {
5
+
6
+ const GENERATORKEY = 'badges.award ' ;
7
+
8
+ public function getGeneratorName () {
9
+ return pht ('Badges Award ' );
10
+ }
11
+
12
+ public function generateObject () {
13
+ $ author = $ this ->loadRandomUser ();
14
+ $ recipient = $ this ->loadRandomUser ();
15
+ $ badge_phid = $ this ->loadRandomPHID (new PhabricatorBadgesBadge ());
16
+
17
+ $ xactions = array ();
18
+
19
+ $ xactions [] = array (
20
+ 'type ' => 'award ' ,
21
+ 'value ' => array ($ recipient ->getPHID ()),
22
+ );
23
+
24
+ $ params = array (
25
+ 'transactions ' => $ xactions ,
26
+ 'objectIdentifier ' => $ badge_phid ,
27
+ );
28
+
29
+ $ result = id (new ConduitCall ('badges.edit ' , $ params ))
30
+ ->setUser ($ author )
31
+ ->execute ();
32
+
33
+ return $ result ['object ' ]['phid ' ];
34
+ }
35
+
36
+ }
0 commit comments