2011-01-26 18:02:09 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2011 Facebook, Inc.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
class PhabricatorObjectHandle {
|
|
|
|
|
|
|
|
private $uri;
|
|
|
|
private $phid;
|
|
|
|
private $type;
|
|
|
|
private $name;
|
|
|
|
private $email;
|
2011-02-03 02:38:03 +01:00
|
|
|
private $fullName;
|
2011-02-01 01:00:42 +01:00
|
|
|
private $imageURI;
|
2011-04-23 00:10:42 +02:00
|
|
|
private $timestamp;
|
2011-05-10 01:31:26 +02:00
|
|
|
private $alternateID;
|
Add object status to Handles
Summary:
We use ObjectHandles as proxy objects which can refer to any other object in the
system. Add the concept of the underlying object's "status" (e.g., open, closed
or busy).
This allows us to render completed tasks and revisions with strikethrough. In
the future, if we implement OOO or something, we could render users with a
"busy" status if they're on vacation, etc.
Test Plan: Viewed a task with closed revisions and dependencies:
https://secure.phabricator.com/file/view/PHID-FILE-6183e81286fa3288d33d/
Reviewed By: codeblock
Reviewers: codeblock, hunterbridges, jungejason, tuomaspelkonen, aran
CC: aran, codeblock
Differential Revision: 772
2011-08-03 15:37:18 +02:00
|
|
|
private $status = 'open';
|
|
|
|
|
2011-01-26 18:02:09 +01:00
|
|
|
|
|
|
|
public function setURI($uri) {
|
|
|
|
$this->uri = $uri;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getURI() {
|
|
|
|
return $this->uri;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setPHID($phid) {
|
|
|
|
$this->phid = $phid;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getPHID() {
|
|
|
|
return $this->phid;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setName($name) {
|
|
|
|
$this->name = $name;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getName() {
|
|
|
|
return $this->name;
|
|
|
|
}
|
|
|
|
|
Add object status to Handles
Summary:
We use ObjectHandles as proxy objects which can refer to any other object in the
system. Add the concept of the underlying object's "status" (e.g., open, closed
or busy).
This allows us to render completed tasks and revisions with strikethrough. In
the future, if we implement OOO or something, we could render users with a
"busy" status if they're on vacation, etc.
Test Plan: Viewed a task with closed revisions and dependencies:
https://secure.phabricator.com/file/view/PHID-FILE-6183e81286fa3288d33d/
Reviewed By: codeblock
Reviewers: codeblock, hunterbridges, jungejason, tuomaspelkonen, aran
CC: aran, codeblock
Differential Revision: 772
2011-08-03 15:37:18 +02:00
|
|
|
public function setStatus($status) {
|
|
|
|
$this->status = $status;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getStatus() {
|
|
|
|
return $this->status;
|
|
|
|
}
|
|
|
|
|
2011-02-03 02:38:03 +01:00
|
|
|
public function setFullName($full_name) {
|
|
|
|
$this->fullName = $full_name;
|
|
|
|
return $this;
|
|
|
|
}
|
2011-02-03 04:38:43 +01:00
|
|
|
|
2011-02-03 02:38:03 +01:00
|
|
|
public function getFullName() {
|
2011-02-21 05:08:16 +01:00
|
|
|
if ($this->fullName !== null) {
|
|
|
|
return $this->fullName;
|
|
|
|
}
|
|
|
|
return $this->getName();
|
2011-02-03 02:38:03 +01:00
|
|
|
}
|
|
|
|
|
2011-01-26 18:02:09 +01:00
|
|
|
public function setType($type) {
|
|
|
|
$this->type = $type;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getType() {
|
|
|
|
return $this->type;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setEmail($email) {
|
|
|
|
$this->email = $email;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getEmail() {
|
|
|
|
return $this->email;
|
|
|
|
}
|
2011-02-02 22:59:52 +01:00
|
|
|
|
2011-02-01 01:00:42 +01:00
|
|
|
public function setImageURI($uri) {
|
|
|
|
$this->imageURI = $uri;
|
|
|
|
return $this;
|
|
|
|
}
|
2011-02-02 22:59:52 +01:00
|
|
|
|
2011-02-01 01:00:42 +01:00
|
|
|
public function getImageURI() {
|
|
|
|
return $this->imageURI;
|
|
|
|
}
|
2011-01-26 18:02:09 +01:00
|
|
|
|
2011-04-23 00:10:42 +02:00
|
|
|
public function setTimestamp($timestamp) {
|
|
|
|
$this->timestamp = $timestamp;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getTimestamp() {
|
|
|
|
return $this->timestamp;
|
|
|
|
}
|
|
|
|
|
2011-05-10 01:31:26 +02:00
|
|
|
public function setAlternateID($alternate_id) {
|
|
|
|
$this->alternateID = $alternate_id;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getAlternateID() {
|
|
|
|
return $this->alternateID;
|
|
|
|
}
|
|
|
|
|
Improve search result listing
Summary:
Make it prettier, paginate, add user pictures, show document types, clean some
stuff up a little. Plenty of room for improvement but this should make it a lot
more useful.
Test Plan:
Here's what the new one looks like:
https://secure.phabricator.com/file/view/PHID-FILE-edce2b83c2e3a121c2b7/
Reviewed By: jungejason
Reviewers: tomo, jungejason, aran, tuomaspelkonen, mroch
Commenters: tomo
CC: aran, tomo, jungejason, epriestley
Differential Revision: 545
2011-06-28 23:35:02 +02:00
|
|
|
public function getTypeName() {
|
|
|
|
static $map = array(
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_USER => 'User',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_TASK => 'Task',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_DREV => 'Revision',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_CMIT => 'Commit',
|
2011-07-12 02:29:08 +02:00
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_WIKI => 'Phriction',
|
Improve search result listing
Summary:
Make it prettier, paginate, add user pictures, show document types, clean some
stuff up a little. Plenty of room for improvement but this should make it a lot
more useful.
Test Plan:
Here's what the new one looks like:
https://secure.phabricator.com/file/view/PHID-FILE-edce2b83c2e3a121c2b7/
Reviewed By: jungejason
Reviewers: tomo, jungejason, aran, tuomaspelkonen, mroch
Commenters: tomo
CC: aran, tomo, jungejason, epriestley
Differential Revision: 545
2011-06-28 23:35:02 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
return idx($map, $this->getType());
|
|
|
|
}
|
|
|
|
|
2011-01-27 23:55:52 +01:00
|
|
|
public function renderLink() {
|
2011-02-17 23:32:01 +01:00
|
|
|
|
|
|
|
switch ($this->getType()) {
|
2011-03-03 03:58:21 +01:00
|
|
|
case PhabricatorPHIDConstants::PHID_TYPE_USER:
|
2011-02-17 23:32:01 +01:00
|
|
|
$name = $this->getName();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$name = $this->getFullName();
|
|
|
|
}
|
|
|
|
|
Add object status to Handles
Summary:
We use ObjectHandles as proxy objects which can refer to any other object in the
system. Add the concept of the underlying object's "status" (e.g., open, closed
or busy).
This allows us to render completed tasks and revisions with strikethrough. In
the future, if we implement OOO or something, we could render users with a
"busy" status if they're on vacation, etc.
Test Plan: Viewed a task with closed revisions and dependencies:
https://secure.phabricator.com/file/view/PHID-FILE-6183e81286fa3288d33d/
Reviewed By: codeblock
Reviewers: codeblock, hunterbridges, jungejason, tuomaspelkonen, aran
CC: aran, codeblock
Differential Revision: 772
2011-08-03 15:37:18 +02:00
|
|
|
$class = null;
|
|
|
|
if ($this->status != PhabricatorObjectHandleStatus::STATUS_OPEN) {
|
|
|
|
$class = 'handle-status-'.phutil_escape_html($this->status);
|
|
|
|
}
|
|
|
|
|
2011-01-27 23:55:52 +01:00
|
|
|
return phutil_render_tag(
|
|
|
|
'a',
|
|
|
|
array(
|
Add object status to Handles
Summary:
We use ObjectHandles as proxy objects which can refer to any other object in the
system. Add the concept of the underlying object's "status" (e.g., open, closed
or busy).
This allows us to render completed tasks and revisions with strikethrough. In
the future, if we implement OOO or something, we could render users with a
"busy" status if they're on vacation, etc.
Test Plan: Viewed a task with closed revisions and dependencies:
https://secure.phabricator.com/file/view/PHID-FILE-6183e81286fa3288d33d/
Reviewed By: codeblock
Reviewers: codeblock, hunterbridges, jungejason, tuomaspelkonen, aran
CC: aran, codeblock
Differential Revision: 772
2011-08-03 15:37:18 +02:00
|
|
|
'href' => $this->getURI(),
|
|
|
|
'class' => $class,
|
2011-01-27 23:55:52 +01:00
|
|
|
),
|
2011-02-17 23:32:01 +01:00
|
|
|
phutil_escape_html($name));
|
2011-01-27 23:55:52 +01:00
|
|
|
}
|
2011-01-26 18:02:09 +01:00
|
|
|
|
|
|
|
}
|