Skip to content

Commit a6669b6

Browse files
committed
copy django message semantics
1 parent c6bebb3 commit a6669b6

File tree

4 files changed

+42
-29
lines changed

4 files changed

+42
-29
lines changed

resources/lib/UnityHTTPD.php

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
use UnityWebPortal\lib\exceptions\ArrayKeyException;
77
use RuntimeException;
88

9-
enum UnityHTTPDMessageSeverity: string
9+
enum UnityHTTPDMessageLevel: string
1010
{
11+
case DEBUG = "debug";
1112
case INFO = "info";
12-
case GOOD = "good";
13-
case BAD = "bad";
13+
case SUCCESS = "success";
14+
case WARNING = "warning";
15+
case ERROR = "error";
1416
}
1517

1618
class UnityHTTPD
@@ -206,22 +208,30 @@ public static function alert(string $message): void
206208
echo "<script type='text/javascript'>alert(" . \jsonEncode($message) . ");</script>";
207209
}
208210

209-
public static function message(string $title, string $body, UnityHTTPDMessageSeverity $severity)
211+
public static function message(string $title, string $body, UnityHTTPDMessageLevel $level)
210212
{
211-
array_push($_SESSION["messages"], [$title, $body, $severity]);
213+
array_push($_SESSION["messages"], [$title, $body, $level]);
212214
}
213215

214-
public static function messageGood(string $title, string $body)
216+
public static function messageDebug(string $title, string $body)
215217
{
216-
return self::message($title, $body, UnityHTTPDMessageSeverity::GOOD);
218+
return self::message($title, $body, UnityHTTPDMessageLevel::DEBUG);
217219
}
218-
public static function messageBad(string $title, string $body)
220+
public static function messageInfo(string $title, string $body)
219221
{
220-
return self::message($title, $body, UnityHTTPDMessageSeverity::BAD);
222+
return self::message($title, $body, UnityHTTPDMessageLevel::INFO);
221223
}
222-
public static function messageInfo(string $title, string $body)
224+
public static function messageSuccess(string $title, string $body)
225+
{
226+
return self::message($title, $body, UnityHTTPDMessageLevel::SUCCESS);
227+
}
228+
public static function messageWarning(string $title, string $body)
229+
{
230+
return self::message($title, $body, UnityHTTPDMessageLevel::WARNING);
231+
}
232+
public static function messageError(string $title, string $body)
223233
{
224-
return self::message($title, $body, UnityHTTPDMessageSeverity::INFO);
234+
return self::message($title, $body, UnityHTTPDMessageLevel::ERROR);
225235
}
226236

227237
public static function getMessages()
@@ -248,11 +258,11 @@ public static function clearMessages()
248258
public static function exportMessagesHTML()
249259
{
250260
$output = "";
251-
foreach (self::getMessages() as [$title, $body, $severity]) {
261+
foreach (self::getMessages() as [$title, $body, $level]) {
252262
$title_stripped = strip_tags($title);
253263
$body_stripped = strip_tags($body);
254-
$severity_str = $severity->value;
255-
$output .= "<div class='message $severity_str'><h2>$title_stripped</h2><p>$body_stripped</p></div>\n";
264+
$level_str = $level->value;
265+
$output .= "<div class='message $level_str'><h2>$title_stripped</h2><p>$body_stripped</p></div>\n";
256266
}
257267
return $output;
258268
}

test/functional/PIMemberRequestTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
use PHPUnit\Framework\TestCase;
4-
use UnityWebPortal\lib\UnityHTTPDMessageSeverity;
4+
use UnityWebPortal\lib\UnityHTTPDMessageLevel;
55
use UnityWebPortal\lib\UnitySQL;
66
use UnityWebPortal\lib\UnityHTTPD;
77

@@ -49,7 +49,7 @@ public function testRequestMembership()
4949
$this->requestMembership("asdlkjasldkj");
5050
assertMessageExists(
5151
$this,
52-
UnityHTTPDMessageSeverity::BAD,
52+
UnityHTTPDMessageLevel::ERROR,
5353
"/.*/",
5454
"/^This PI doesn't exist$/",
5555
);

test/phpunit-bootstrap.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
use UnityWebPortal\lib\UnityGroup;
2828
use UnityWebPortal\lib\UnityHTTPD;
29-
use UnityWebPortal\lib\UnityHTTPDMessageSeverity;
29+
use UnityWebPortal\lib\UnityHTTPDMessageLevel;
3030
use PHPUnit\Framework\TestCase;
3131

3232
$_SERVER["HTTP_HOST"] = "phpunit"; // used for config override
@@ -329,14 +329,14 @@ function getAdminUser()
329329

330330
function assertMessageExists(
331331
TestCase $test_case,
332-
UnityHTTPDMessageSeverity $severity,
332+
UnityHTTPDMessageLevel $level,
333333
string $title_regex,
334334
string $body_regex,
335335
) {
336336
$messages = UnityHTTPD::getMessages();
337337
$error_msg = sprintf(
338-
"message(severity='%s' title_regex='%s' body_regex='%s'), not found. found messages: %s",
339-
$severity->value,
338+
"message(level='%s' title_regex='%s' body_regex='%s'), not found. found messages: %s",
339+
$level->value,
340340
$title_regex,
341341
$body_regex,
342342
jsonEncode($messages),
@@ -346,9 +346,9 @@ function assertMessageExists(
346346
$messages_with_title,
347347
fn($x) => preg_match($body_regex, $x[1]),
348348
);
349-
$messages_with_title_and_body_and_severity = array_filter(
349+
$messages_with_title_and_body_and_level = array_filter(
350350
$messages_with_title_and_body,
351-
fn($x) => $x[2] == $severity,
351+
fn($x) => $x[2] == $level,
352352
);
353-
$test_case->assertNotEmpty($messages_with_title_and_body_and_severity, $error_msg);
353+
$test_case->assertNotEmpty($messages_with_title_and_body_and_level, $error_msg);
354354
}

webroot/panel/groups.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
}
1919
$pi_account = new UnityGroup($pi_groupname, $LDAP, $SQL, $MAILER, $WEBHOOK);
2020
if (!$pi_account->exists()) {
21-
UnityHTTPD::messageBad("Invalid Group Membership Request", "This PI doesn't exist");
21+
UnityHTTPD::messageError(
22+
"Invalid Group Membership Request",
23+
"This PI doesn't exist"
24+
);
2225
UnityHTTPD::redirect();
2326
}
2427
}
@@ -30,32 +33,32 @@
3033
}
3134
if ($pi_account->exists()) {
3235
if ($pi_account->requestExists($USER)) {
33-
UnityHTTPD::messageBad(
36+
UnityHTTPD::messageError(
3437
"Invalid Group Membership Request",
3538
"You've already requested this"
3639
);
3740
UnityHTTPD::redirect();
3841
}
3942
if ($pi_account->memberExists($USER)) {
40-
UnityHTTPD::messageBad(
43+
UnityHTTPD::messageError(
4144
"Invalid Group Membership Request",
4245
"You're already in this PI group"
4346
);
4447
UnityHTTPD::redirect();
4548
}
4649
}
4750
$pi_account->newUserRequest($USER);
48-
UnityHTTPD::messageGood("Group Membership Request Submitted", "");
51+
UnityHTTPD::messageSuccess("Group Membership Request Submitted", "");
4952
UnityHTTPD::redirect();
5053
break;
5154
case "removePIForm":
5255
$pi_account->removeUser($USER);
53-
UnityHTTPD::messageGood("Group Membership Removed", "");
56+
UnityHTTPD::messageSuccess("Group Membership Removed", "");
5457
UnityHTTPD::redirect();
5558
break;
5659
case "cancelPIForm":
5760
$pi_account->cancelGroupJoinRequest($USER);
58-
UnityHTTPD::messageGood("Group Membership Request Cancelled", "");
61+
UnityHTTPD::messageSuccess("Group Membership Request Cancelled", "");
5962
UnityHTTPD::redirect();
6063
break;
6164
}

0 commit comments

Comments
 (0)