Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/people/customfield/PhabricatorUserStatusField.php
12256 views
1
<?php
2
3
final class PhabricatorUserStatusField
4
extends PhabricatorUserCustomField {
5
6
private $value;
7
8
public function getFieldKey() {
9
return 'user:status';
10
}
11
12
public function getFieldName() {
13
return pht('Availability');
14
}
15
16
public function getFieldDescription() {
17
return pht('Shows when a user is away or busy.');
18
}
19
20
public function shouldAppearInPropertyView() {
21
return true;
22
}
23
24
public function isFieldEnabled() {
25
return PhabricatorApplication::isClassInstalled(
26
'PhabricatorCalendarApplication');
27
}
28
29
public function renderPropertyViewValue(array $handles) {
30
$user = $this->getObject();
31
$viewer = $this->requireViewer();
32
33
// Don't show availability for disabled users, since this is vaguely
34
// misleading to say "Availability: Available" and probably not useful.
35
if ($user->getIsDisabled()) {
36
return null;
37
}
38
39
return id(new PHUIUserAvailabilityView())
40
->setViewer($viewer)
41
->setAvailableUser($user);
42
}
43
44
}
45
46