mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 18:52:42 +01:00
2a0af8e299
Summary: Ref T7152. This builds the core of email invites and implements all the hard logic for them, covering it with a pile of tests. There's no UI to create these yet, so users can't actually get invites (and administrators can't send them). This stuff is a complicated mess because there are so many interactions between accounts, email addresses, email verification, email primary-ness, and user verification. However, I think I got it right and got test coverage everwhere. The degree to which this is exception-driven is a little icky, but I think it's a reasonable way to get the testability we want while still making it hard for callers to get the flow wrong. In particular, I expect there to be at least two callers (one invite flow in the upstream, and one derived invite flow in Instances) so I believe there is merit in burying as much of this logic inside the Engine as is reasonably possible. Test Plan: Unit tests only. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T7152 Differential Revision: https://secure.phabricator.com/D11723
63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
<?php
|
|
|
|
abstract class PhabricatorAuthInviteDialogException
|
|
extends PhabricatorAuthInviteException {
|
|
|
|
private $title;
|
|
private $body;
|
|
private $submitButtonText;
|
|
private $submitButtonURI;
|
|
private $cancelButtonText;
|
|
private $cancelButtonURI;
|
|
|
|
public function __construct($title, $body) {
|
|
$this->title = $title;
|
|
$this->body = $body;
|
|
parent::__construct(pht('%s: %s', $title, $body));
|
|
}
|
|
|
|
public function getTitle() {
|
|
return $this->title;
|
|
}
|
|
|
|
public function getBody() {
|
|
return $this->body;
|
|
}
|
|
|
|
public function setSubmitButtonText($submit_button_text) {
|
|
$this->submitButtonText = $submit_button_text;
|
|
return $this;
|
|
}
|
|
|
|
public function getSubmitButtonText() {
|
|
return $this->submitButtonText;
|
|
}
|
|
|
|
public function setSubmitButtonURI($submit_button_uri) {
|
|
$this->submitButtonURI = $submit_button_uri;
|
|
return $this;
|
|
}
|
|
|
|
public function getSubmitButtonURI() {
|
|
return $this->submitButtonURI;
|
|
}
|
|
|
|
public function setCancelButtonText($cancel_button_text) {
|
|
$this->cancelButtonText = $cancel_button_text;
|
|
return $this;
|
|
}
|
|
|
|
public function getCancelButtonText() {
|
|
return $this->cancelButtonText;
|
|
}
|
|
|
|
public function setCancelButtonURI($cancel_button_uri) {
|
|
$this->cancelButtonURI = $cancel_button_uri;
|
|
return $this;
|
|
}
|
|
|
|
public function getCancelButtonURI() {
|
|
return $this->cancelButtonURI;
|
|
}
|
|
|
|
}
|