public function approve() {
		// Check permission
		if(!$this->canApprove()) {
			return Security::permissionFailure(
				null,
				_t("UserConfirmationStep.DENYAPPROVE", "You do not have permission to approve this deployment")
			);
		}

		// Skip subsequent approvals if already approved / rejected
		if($this->hasResponse()) return;

		// Approve
		$this->Approval = 'Approved';
		$this->log("{$this->Title} has been approved");
		$this->ResponderID = Member::currentUserID();
		$this->finish();
		$this->sendMessage(self::ALERT_APPROVE);
		return true;
	}