mirror of
https://koodu.h-i.works/projects/thebadspace
synced 2025-06-25 16:04:37 -05:00
Added Front listings and member editing
Added the template for to display locations on the front end. Still need to add template for individual locations. Also added member editing. Still need to wire up the avatar uploading but adding and editing member information is possible. Still need to fine tune it according to roles
This commit is contained in:
@ -9,58 +9,66 @@ use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
//use App\Utils\PageRender;
|
||||
//use App\Utils\StringTools;
|
||||
use App\Service\Auth;
|
||||
use App\Service\HandleMembers;
|
||||
use App\Service\Render;
|
||||
use App\Service\Auth;
|
||||
|
||||
class Members extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @Route("/dashboard/members", name="dash-members")
|
||||
* @Route("/den/members/page/{pageNum}", name="den-locations")
|
||||
*/
|
||||
public function showMembers(
|
||||
Request $request,
|
||||
Auth $auth
|
||||
): Response {
|
||||
Auth $auth,
|
||||
Render $render,
|
||||
HandleMembers $members,
|
||||
int $pageNum = 1
|
||||
) {
|
||||
$result = $auth->status();
|
||||
if ($result["status"]) {
|
||||
/*
|
||||
return $render->renderPage(
|
||||
["bgImage" => "", "mode" => "index"],
|
||||
"The Nile List | Members",
|
||||
"dash/members.html.twig"
|
||||
);
|
||||
*/
|
||||
$self = $members->getYou();
|
||||
$you = $self->getId();
|
||||
$list = $members->getMemberPage($pageNum);
|
||||
|
||||
return $render->page([
|
||||
"mode" => "index",
|
||||
"you" => $you,
|
||||
"list" => $list], "Bad Space | Members", "back/members.twig");
|
||||
} else {
|
||||
//back to index to login
|
||||
header("Location:/knockknock");
|
||||
return new Response("<html><body>LOGGED IN</body></html>");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/den/members/add", name="members-add")
|
||||
*/
|
||||
public function addMembers(
|
||||
* @Route("/den/members/{action}/{id}", name="den-members")
|
||||
*/
|
||||
public function handleMemberActions(
|
||||
Request $request,
|
||||
Auth $auth,
|
||||
Render $render,
|
||||
HandleMembers $members,
|
||||
ManagerRegistry $doctrine
|
||||
string $action = "index",
|
||||
int $id = 0
|
||||
): Response {
|
||||
$result = $auth->status();
|
||||
if ($result["status"]) {
|
||||
if ($request->getMethod() == "GET") {
|
||||
return $this->render("back/members.twig", [
|
||||
"title" => "Get a class from the cupboard",
|
||||
"mode" => "add"
|
||||
]);
|
||||
$self = $members->getYou();
|
||||
$you = $self->getId();
|
||||
$member = [];
|
||||
if ($id != 0) {
|
||||
$member = $members->getMemberById($id);
|
||||
}
|
||||
return $render->page([
|
||||
"mode" => $action,
|
||||
"you" => $you,
|
||||
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
||||
} else {
|
||||
//add new member
|
||||
$token = $request->get("token");
|
||||
$notice = "";
|
||||
$entityManager = $doctrine->getManager();
|
||||
$token = $request->get("token");
|
||||
$notice = "";
|
||||
$mode = $request->get("mode");
|
||||
$id = $request->get("member_id");
|
||||
|
||||
//token check
|
||||
if (!$this->isCsrfTokenValid("upload", $token)) {
|
||||
@ -74,7 +82,12 @@ class Members extends AbstractController
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
$self = $members->getYou();
|
||||
$you = $self->getId();
|
||||
$member = [];
|
||||
if ($id != 0) {
|
||||
$member = $members->getMemberById($id);
|
||||
}
|
||||
if (
|
||||
$request->request->get("handle") == "" ||
|
||||
$request->request->get("role") == "" ||
|
||||
@ -82,48 +95,44 @@ class Members extends AbstractController
|
||||
$request->request->get("email") == "" ||
|
||||
$request->request->get("pronoun") == ""
|
||||
) {
|
||||
return new Response("<html><body>All fields required</body></html>");
|
||||
|
||||
/*
|
||||
$notice = "All fields are required, champ.";
|
||||
return $render->renderPage(
|
||||
["bgImage" => "", "mode" => "add", "notice" => $notice],
|
||||
"The Nile List | Add Member Error",
|
||||
"dash/members.html.twig"
|
||||
);
|
||||
*/
|
||||
return $render->page([
|
||||
"notice" => $notice,
|
||||
"mode" => $mode,
|
||||
"you" => $you,
|
||||
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
||||
}
|
||||
|
||||
//empty valid email check
|
||||
if (
|
||||
!filter_var($request->request->get("email"), FILTER_VALIDATE_EMAIL)
|
||||
) {
|
||||
return new Response("<html><body>BOGUS EMAIL</body></html>");
|
||||
|
||||
/*
|
||||
$notice = "Need a valid email, slick.";
|
||||
return $render->renderPage(
|
||||
["bgImage" => "", "mode" => "add", "notice" => $notice],
|
||||
"The Nile List | Add Member Error",
|
||||
"dash/members.html.twig"
|
||||
);
|
||||
*/
|
||||
return $render->page([
|
||||
"notice" => $notice,
|
||||
"mode" => $mode,
|
||||
"you" => $you,
|
||||
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
||||
}
|
||||
// password confirm check
|
||||
if ($request->request->get("new_pass") != "") {
|
||||
if ($request->request->get("new_pass") != $request->request->get("new_pass_confirm")) {
|
||||
$notice = "New password must be confirmed";
|
||||
return $render->page([
|
||||
"notice" => $notice,
|
||||
"mode" => $mode,
|
||||
"you" => $you,
|
||||
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
||||
}
|
||||
}
|
||||
|
||||
//check clear, call add method
|
||||
$response = $members->addMember($request);
|
||||
$response = $members->modifyMember($request, $id, $mode);
|
||||
if ($response["status"]) {
|
||||
/*
|
||||
return $render->renderPage(
|
||||
[
|
||||
"bgImage" => "",
|
||||
"mode" => "add",
|
||||
"notice" => $response["message"],
|
||||
],
|
||||
"The Nile List | Add Members",
|
||||
"dash/members.html.twig"
|
||||
);
|
||||
*/
|
||||
return new Response("<html><body>MEMBER ADDED</body></html>");
|
||||
return $render->page([
|
||||
"notice" => $response["message"],
|
||||
"mode" => $mode,
|
||||
"you" => $you,
|
||||
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
||||
} else {
|
||||
return new Response("<html><body>" . $response["message"] . "</body></html>");
|
||||
/*
|
||||
@ -138,7 +147,7 @@ class Members extends AbstractController
|
||||
} else {
|
||||
//back to index to login
|
||||
header("Location:/den");
|
||||
return new Response("<html><body>LOGGED IN</body></html>");
|
||||
return new Response("<html><body>TO THE FRONT</body></html>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user