Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/calendar/controller/PhabricatorCalendarImportReloadController.php
12256 views
1
<?php
2
3
final class PhabricatorCalendarImportReloadController
4
extends PhabricatorCalendarController {
5
6
public function handleRequest(AphrontRequest $request) {
7
$viewer = $request->getViewer();
8
9
$import = id(new PhabricatorCalendarImportQuery())
10
->setViewer($viewer)
11
->withIDs(array($request->getURIData('id')))
12
->requireCapabilities(
13
array(
14
PhabricatorPolicyCapability::CAN_VIEW,
15
PhabricatorPolicyCapability::CAN_EDIT,
16
))
17
->executeOne();
18
if (!$import) {
19
return new Aphront404Response();
20
}
21
22
$import_uri = $import->getURI();
23
24
if ($request->isFormPost()) {
25
$xactions = array();
26
$xactions[] = id(new PhabricatorCalendarImportTransaction())
27
->setTransactionType(
28
PhabricatorCalendarImportReloadTransaction::TRANSACTIONTYPE)
29
->setNewValue(true);
30
31
$editor = id(new PhabricatorCalendarImportEditor())
32
->setActor($viewer)
33
->setContinueOnNoEffect(true)
34
->setContinueOnMissingFields(true)
35
->setContentSourceFromRequest($request);
36
37
$editor->applyTransactions($import, $xactions);
38
39
return id(new AphrontRedirectResponse())->setURI($import_uri);
40
}
41
42
return $this->newDialog()
43
->setTitle(pht('Reload Events'))
44
->appendParagraph(
45
pht(
46
'Reload this source? Events imported from this source will '.
47
'be updated.'))
48
->addCancelButton($import_uri)
49
->addSubmitButton(pht('Reload Events'));
50
}
51
52
}
53
54