Raise ICS warnings in Phabricator on ICS import
Summary: Ref T11816. Depends on D16800. Show warnings generated by ICS import in the UI.
Test Plan: {F1904122}
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T11816
Differential Revision: https://secure.phabricator.com/D16801
This commit is contained in:
@@ -2130,6 +2130,7 @@ phutil_register_library_map(array(
|
|||||||
'PhabricatorCalendarImportICSFileTransaction' => 'applications/calendar/xaction/PhabricatorCalendarImportICSFileTransaction.php',
|
'PhabricatorCalendarImportICSFileTransaction' => 'applications/calendar/xaction/PhabricatorCalendarImportICSFileTransaction.php',
|
||||||
'PhabricatorCalendarImportICSLogType' => 'applications/calendar/importlog/PhabricatorCalendarImportICSLogType.php',
|
'PhabricatorCalendarImportICSLogType' => 'applications/calendar/importlog/PhabricatorCalendarImportICSLogType.php',
|
||||||
'PhabricatorCalendarImportICSURITransaction' => 'applications/calendar/xaction/PhabricatorCalendarImportICSURITransaction.php',
|
'PhabricatorCalendarImportICSURITransaction' => 'applications/calendar/xaction/PhabricatorCalendarImportICSURITransaction.php',
|
||||||
|
'PhabricatorCalendarImportICSWarningLogType' => 'applications/calendar/importlog/PhabricatorCalendarImportICSWarningLogType.php',
|
||||||
'PhabricatorCalendarImportIgnoredNodeLogType' => 'applications/calendar/importlog/PhabricatorCalendarImportIgnoredNodeLogType.php',
|
'PhabricatorCalendarImportIgnoredNodeLogType' => 'applications/calendar/importlog/PhabricatorCalendarImportIgnoredNodeLogType.php',
|
||||||
'PhabricatorCalendarImportListController' => 'applications/calendar/controller/PhabricatorCalendarImportListController.php',
|
'PhabricatorCalendarImportListController' => 'applications/calendar/controller/PhabricatorCalendarImportListController.php',
|
||||||
'PhabricatorCalendarImportLog' => 'applications/calendar/storage/PhabricatorCalendarImportLog.php',
|
'PhabricatorCalendarImportLog' => 'applications/calendar/storage/PhabricatorCalendarImportLog.php',
|
||||||
@@ -6991,6 +6992,7 @@ phutil_register_library_map(array(
|
|||||||
'PhabricatorCalendarImportICSFileTransaction' => 'PhabricatorCalendarImportTransactionType',
|
'PhabricatorCalendarImportICSFileTransaction' => 'PhabricatorCalendarImportTransactionType',
|
||||||
'PhabricatorCalendarImportICSLogType' => 'PhabricatorCalendarImportLogType',
|
'PhabricatorCalendarImportICSLogType' => 'PhabricatorCalendarImportLogType',
|
||||||
'PhabricatorCalendarImportICSURITransaction' => 'PhabricatorCalendarImportTransactionType',
|
'PhabricatorCalendarImportICSURITransaction' => 'PhabricatorCalendarImportTransactionType',
|
||||||
|
'PhabricatorCalendarImportICSWarningLogType' => 'PhabricatorCalendarImportLogType',
|
||||||
'PhabricatorCalendarImportIgnoredNodeLogType' => 'PhabricatorCalendarImportLogType',
|
'PhabricatorCalendarImportIgnoredNodeLogType' => 'PhabricatorCalendarImportLogType',
|
||||||
'PhabricatorCalendarImportListController' => 'PhabricatorCalendarController',
|
'PhabricatorCalendarImportListController' => 'PhabricatorCalendarController',
|
||||||
'PhabricatorCalendarImportLog' => array(
|
'PhabricatorCalendarImportLog' => array(
|
||||||
|
|||||||
@@ -28,6 +28,17 @@ abstract class PhabricatorCalendarICSImportEngine
|
|||||||
$document = null;
|
$document = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($parser->getWarnings() as $warning) {
|
||||||
|
$import->newLogMessage(
|
||||||
|
PhabricatorCalendarImportICSWarningLogType::LOGTYPE,
|
||||||
|
array(
|
||||||
|
'ics.warning.code' => $warning['code'],
|
||||||
|
'ics.warning.line' => $warning['line'],
|
||||||
|
'ics.warning.text' => $warning['text'],
|
||||||
|
'ics.warning.message' => $warning['message'],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
return $this->importEventDocument($viewer, $import, $document);
|
return $this->importEventDocument($viewer, $import, $document);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
final class PhabricatorCalendarImportICSWarningLogType
|
||||||
|
extends PhabricatorCalendarImportLogType {
|
||||||
|
|
||||||
|
const LOGTYPE = 'ics.warning';
|
||||||
|
|
||||||
|
public function getDisplayType(
|
||||||
|
PhabricatorUser $viewer,
|
||||||
|
PhabricatorCalendarImportLog $log) {
|
||||||
|
return pht('ICS Parser Warning');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDisplayDescription(
|
||||||
|
PhabricatorUser $viewer,
|
||||||
|
PhabricatorCalendarImportLog $log) {
|
||||||
|
return pht(
|
||||||
|
'Warning ("%s") while parsing ICS data (near line %s): %s',
|
||||||
|
$log->getParameter('ics.warning.code'),
|
||||||
|
$log->getParameter('ics.warning.line'),
|
||||||
|
$log->getParameter('ics.warning.message'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getDisplayIcon(
|
||||||
|
PhabricatorUser $viewer,
|
||||||
|
PhabricatorCalendarImportLog $log) {
|
||||||
|
return 'fa-exclamation-triangle';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDisplayColor(
|
||||||
|
PhabricatorUser $viewer,
|
||||||
|
PhabricatorCalendarImportLog $log) {
|
||||||
|
return 'yellow';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user