Differential D15048 Diff 36343 src/applications/project/editor/PhabricatorProjectTransactionEditor.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/editor/PhabricatorProjectTransactionEditor.php
Show First 20 Lines • Show All 750 Lines • ▼ Show 20 Lines | private function addSlug(PhabricatorProject $project, $slug, $force) { | ||||
return id(new PhabricatorProjectSlug()) | return id(new PhabricatorProjectSlug()) | ||||
->setSlug($slug) | ->setSlug($slug) | ||||
->setProjectPHID($project_phid) | ->setProjectPHID($project_phid) | ||||
->save(); | ->save(); | ||||
} | } | ||||
private function removeSlugs(PhabricatorProject $project, array $slugs) { | private function removeSlugs(PhabricatorProject $project, array $slugs) { | ||||
$slugs = $this->normalizeSlugs($slugs); | |||||
if (!$slugs) { | if (!$slugs) { | ||||
return; | return; | ||||
} | } | ||||
// We're going to try to delete both the literal and normalized versions | |||||
// of all slugs. This allows us to destroy old slugs that are no longer | |||||
// valid. | |||||
foreach ($this->normalizeSlugs($slugs) as $slug) { | |||||
$slugs[] = $slug; | |||||
} | |||||
$objects = id(new PhabricatorProjectSlug())->loadAllWhere( | $objects = id(new PhabricatorProjectSlug())->loadAllWhere( | ||||
'projectPHID = %s AND slug IN (%Ls)', | 'projectPHID = %s AND slug IN (%Ls)', | ||||
$project->getPHID(), | $project->getPHID(), | ||||
$slugs); | $slugs); | ||||
foreach ($objects as $object) { | foreach ($objects as $object) { | ||||
$object->delete(); | $object->delete(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 113 Lines • Show Last 20 Lines |