@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorAuthContactNumberEditEngine
4 extends PhabricatorEditEngine {
5
6 const ENGINECONST = 'auth.contact';
7
8 public function isEngineConfigurable() {
9 return false;
10 }
11
12 public function getEngineName() {
13 return pht('Contact Numbers');
14 }
15
16 public function getSummaryHeader() {
17 return pht('Edit Contact Numbers');
18 }
19
20 public function getSummaryText() {
21 return pht('This engine is used to edit contact numbers.');
22 }
23
24 public function getEngineApplicationClass() {
25 return PhabricatorAuthApplication::class;
26 }
27
28 protected function newEditableObject() {
29 $viewer = $this->getViewer();
30 return PhabricatorAuthContactNumber::initializeNewContactNumber($viewer);
31 }
32
33 protected function newObjectQuery() {
34 return new PhabricatorAuthContactNumberQuery();
35 }
36
37 protected function getObjectCreateTitleText($object) {
38 return pht('Create Contact Number');
39 }
40
41 protected function getObjectCreateButtonText($object) {
42 return pht('Create Contact Number');
43 }
44
45 protected function getObjectEditTitleText($object) {
46 return pht('Edit Contact Number');
47 }
48
49 protected function getObjectEditShortText($object) {
50 return $object->getObjectName();
51 }
52
53 protected function getObjectCreateShortText() {
54 return pht('Create Contact Number');
55 }
56
57 protected function getObjectName() {
58 return pht('Contact Number');
59 }
60
61 protected function getEditorURI() {
62 return '/auth/contact/edit/';
63 }
64
65 protected function getObjectCreateCancelURI($object) {
66 return '/settings/panel/contact/';
67 }
68
69 protected function getObjectViewURI($object) {
70 return $object->getURI();
71 }
72
73 protected function buildCustomEditFields($object) {
74 return array(
75 id(new PhabricatorTextEditField())
76 ->setKey('contactNumber')
77 ->setTransactionType(
78 PhabricatorAuthContactNumberNumberTransaction::TRANSACTIONTYPE)
79 ->setLabel(pht('Contact Number'))
80 ->setDescription(pht('The contact number.'))
81 ->setValue($object->getContactNumber())
82 ->setIsRequired(true),
83 );
84 }
85
86}