Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F540005
PhabricatorDashboardInstallWorkflow.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
PhabricatorDashboardInstallWorkflow.php
View Options
<?php
abstract
class
PhabricatorDashboardInstallWorkflow
extends
Phobject
{
private
$request
;
private
$viewer
;
private
$dashboard
;
private
$mode
;
final
public
function
setViewer
(
PhabricatorUser
$viewer
)
{
$this
->
viewer
=
$viewer
;
return
$this
;
}
final
public
function
getViewer
()
{
return
$this
->
viewer
;
}
final
public
function
setDashboard
(
PhabricatorDashboard
$dashboard
)
{
$this
->
dashboard
=
$dashboard
;
return
$this
;
}
final
public
function
getDashboard
()
{
return
$this
->
dashboard
;
}
final
public
function
setMode
(
$mode
)
{
$this
->
mode
=
$mode
;
return
$this
;
}
final
public
function
getMode
()
{
return
$this
->
mode
;
}
final
public
function
setRequest
(
AphrontRequest
$request
)
{
$this
->
request
=
$request
;
return
$this
;
}
final
public
function
getRequest
()
{
return
$this
->
request
;
}
final
public
function
getWorkflowKey
()
{
return
$this
->
getPhobjectClassConstant
(
'WORKFLOWKEY'
,
32
);
}
final
public
static
function
getAllWorkflows
()
{
return
id
(
new
PhutilClassMapQuery
())
->
setAncestorClass
(
__CLASS__
)
->
setUniqueMethod
(
'getWorkflowKey'
)
->
setSortMethod
(
'getOrder'
)
->
execute
();
}
final
public
function
getWorkflowMenuItem
()
{
return
$this
->
newWorkflowMenuItem
();
}
abstract
public
function
getOrder
();
abstract
protected
function
newWorkflowMenuItem
();
final
protected
function
newMenuItem
()
{
return
id
(
new
PHUIObjectItemView
())
->
setClickable
(
true
);
}
abstract
public
function
handleRequest
(
AphrontRequest
$request
);
final
protected
function
newDialog
()
{
$dashboard
=
$this
->
getDashboard
();
return
id
(
new
AphrontDialogView
())
->
setViewer
(
$this
->
getViewer
())
->
setWidth
(
AphrontDialogView
::
WIDTH_FORM
)
->
addCancelButton
(
$dashboard
->
getURI
());
}
final
protected
function
newMenuFromItemMap
(
array
$map
)
{
$viewer
=
$this
->
getViewer
();
$dashboard
=
$this
->
getDashboard
();
$menu
=
id
(
new
PHUIObjectItemListView
())
->
setViewer
(
$viewer
)
->
setFlush
(
true
)
->
setBig
(
true
);
foreach
(
$map
as
$key
=>
$item
)
{
$item
->
setHref
(
urisprintf
(
'/dashboard/install/%d/%s/%s/'
,
$dashboard
->
getID
(),
$this
->
getWorkflowKey
(),
$key
));
$menu
->
addItem
(
$item
);
}
return
$menu
;
}
abstract
protected
function
newProfileEngine
();
final
protected
function
installDashboard
(
$profile_object
,
$custom_phid
)
{
$dashboard
=
$this
->
getDashboard
();
$engine
=
$this
->
newProfileEngine
()
->
setProfileObject
(
$profile_object
);
$request
=
$this
->
getRequest
();
$viewer
=
$this
->
getViewer
();
$config
=
PhabricatorProfileMenuItemConfiguration
::
initializeNewItem
(
$profile_object
,
new
PhabricatorDashboardProfileMenuItem
(),
$custom_phid
);
$config
->
setMenuItemProperty
(
'dashboardPHID'
,
$dashboard
->
getPHID
());
$xactions
=
array
();
$editor
=
id
(
new
PhabricatorProfileMenuEditor
())
->
setActor
(
$viewer
)
->
setContinueOnNoEffect
(
true
)
->
setContinueOnMissingFields
(
true
)
->
setContentSourceFromRequest
(
$request
);
$editor
->
applyTransactions
(
$config
,
$xactions
);
$done_uri
=
$engine
->
getItemURI
(
urisprintf
(
'view/%d/'
,
$config
->
getID
()));
return
id
(
new
AphrontRedirectResponse
())
->
setURI
(
$done_uri
);
}
final
protected
function
getDashboardDisplayName
()
{
$dashboard
=
$this
->
getDashboard
();
return
phutil_tag
(
'strong'
,
array
(),
$dashboard
->
getName
());
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Mon, May 12, 9:23 AM (1 d, 23 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
120415
Default Alt Text
PhabricatorDashboardInstallWorkflow.php (3 KB)
Attached To
Mode
rP Phorge
Attached
Detach File
Event Timeline
Log In to Comment