mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-17 17:28:42 +01:00
Summary: [WIP] Tossing this up for safety and to read through it. Need to test, update some of the other flows. This updates everything in Auth for new UI and modern conventions. Test Plan: Loooots of random testing, new providers, edit providers, logging out, forgot password... more coming. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D15550
178 lines
4.6 KiB
PHP
178 lines
4.6 KiB
PHP
<?php
|
|
|
|
final class PhabricatorAuthProviderConfigTransaction
|
|
extends PhabricatorApplicationTransaction {
|
|
|
|
const TYPE_ENABLE = 'config:enable';
|
|
const TYPE_LOGIN = 'config:login';
|
|
const TYPE_REGISTRATION = 'config:registration';
|
|
const TYPE_LINK = 'config:link';
|
|
const TYPE_UNLINK = 'config:unlink';
|
|
const TYPE_TRUST_EMAILS = 'config:trustEmails';
|
|
const TYPE_AUTO_LOGIN = 'config:autoLogin';
|
|
const TYPE_PROPERTY = 'config:property';
|
|
|
|
const PROPERTY_KEY = 'auth:property';
|
|
|
|
private $provider;
|
|
|
|
public function setProvider(PhabricatorAuthProvider $provider) {
|
|
$this->provider = $provider;
|
|
return $this;
|
|
}
|
|
|
|
public function getProvider() {
|
|
return $this->provider;
|
|
}
|
|
|
|
public function getApplicationName() {
|
|
return 'auth';
|
|
}
|
|
|
|
public function getApplicationTransactionType() {
|
|
return PhabricatorAuthAuthProviderPHIDType::TYPECONST;
|
|
}
|
|
|
|
public function getApplicationTransactionCommentObject() {
|
|
return null;
|
|
}
|
|
|
|
public function getIcon() {
|
|
$old = $this->getOldValue();
|
|
$new = $this->getNewValue();
|
|
|
|
switch ($this->getTransactionType()) {
|
|
case self::TYPE_ENABLE:
|
|
if ($new) {
|
|
return 'fa-check';
|
|
} else {
|
|
return 'fa-ban';
|
|
}
|
|
}
|
|
|
|
return parent::getIcon();
|
|
}
|
|
|
|
public function getColor() {
|
|
$old = $this->getOldValue();
|
|
$new = $this->getNewValue();
|
|
|
|
switch ($this->getTransactionType()) {
|
|
case self::TYPE_ENABLE:
|
|
if ($new) {
|
|
return 'green';
|
|
} else {
|
|
return 'indigo';
|
|
}
|
|
}
|
|
|
|
return parent::getColor();
|
|
}
|
|
|
|
public function getTitle() {
|
|
$author_phid = $this->getAuthorPHID();
|
|
|
|
$old = $this->getOldValue();
|
|
$new = $this->getNewValue();
|
|
|
|
switch ($this->getTransactionType()) {
|
|
case self::TYPE_ENABLE:
|
|
if ($old === null) {
|
|
return pht(
|
|
'%s created this provider.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else if ($new) {
|
|
return pht(
|
|
'%s enabled this provider.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled this provider.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_LOGIN:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled login.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled login.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_REGISTRATION:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled registration.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled registration.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_LINK:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled account linking.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled account linking.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_UNLINK:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled account unlinking.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled account unlinking.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_TRUST_EMAILS:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled email trust.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled email trust.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_AUTO_LOGIN:
|
|
if ($new) {
|
|
return pht(
|
|
'%s enabled auto login.',
|
|
$this->renderHandleLink($author_phid));
|
|
} else {
|
|
return pht(
|
|
'%s disabled auto login.',
|
|
$this->renderHandleLink($author_phid));
|
|
}
|
|
break;
|
|
case self::TYPE_PROPERTY:
|
|
$provider = $this->getProvider();
|
|
if ($provider) {
|
|
$title = $provider->renderConfigPropertyTransactionTitle($this);
|
|
if (strlen($title)) {
|
|
return $title;
|
|
}
|
|
}
|
|
|
|
return pht(
|
|
'%s edited a property of this provider.',
|
|
$this->renderHandleLink($author_phid));
|
|
break;
|
|
}
|
|
|
|
return parent::getTitle();
|
|
}
|
|
|
|
}
|